Java代码调用Shell脚本并传入参数实现DB2数据库表导出到文件(二)

2014-11-23 19:53:00 · 作者: · 浏览: 58
);


}



if (null != ps) {


ps.destroy();


ps = null;


}


}



dataMap.put("export_status", isOK);


dataMap.put("proc_log", resultMsg.toString());


// dataMap = packageResult(isOK, resultMsg.toString()); // 组装返回的消息



return dataMap;



}



/**


* @Title: createExportShellParams


* @Description: 组装参数


* @param msgId


* @param dbSchema


* @param dbUser


* @param dbPassword


* @param tableName


* @param filePath


* @param delimiter


* @param exportLimit


* @return String 返回类型


* @throws


*/


private String createExportShellParams(String dbSchema,


String dbUser, String dbPassword, String tableName,


String filePath, String delimiter, String exportLimit) {



StringBuilder params = new StringBuilder();


params.append(dbSchema + " ").append(dbUser + " ").append(dbPassword + " ")


.append(tableName + " ").append(filePath + " ").append(delimiter + " ").append(exportLimit);



return params.toString();


}



/**


* @Title: mkDirectory


* @Description: 根据配置的路径和文件名,判断文件路径是否存在,若不存在,则先创建,拼接导出文件绝对路径。


* @param filePath


* @param interFile


* @return 对方法的参数进行描述


* @return String 返回类型


* @throws


*/


private String mkDirectory(StringBuffer filePath, String interFile) {



File file = new File(filePath.toString());



if ( file.isDirectory() ) {


if (filePath.toString().endsWith("/")) {


filePath.append(interFile);


} else {


filePath.append("/").append(interFile);


}


} else {


LOG.info("The file path is not exists, need to be created now. ");


file.mkdir();


if (filePath.toString().endsWith("/")) {


filePath.append(interFile);


} else {


filePath.append("/").append(interFile);


}


}


return filePath.toString();


}



/** 返回消息组装结果 */


private HashMap packageResult(String isOK, String resultMsg) {


HashMap hsmap = new HashMap();


hsmap.put(MapKeys.PROC_STATUS, isOK);


hsmap.put(MapKeys.PROC_LOG, resultMsg);


return hsmap;


}



}


传入的执行参数放入一个Map(HashMap dataMap)中


/** EXPORT TEST */


map.put("db_schema", "md");


map.put("db_user", "root");


map.put("db_password", "root");


map.put("table_name", "inter_log");


map.put("inter_file", "inter_log_20140915.avl");


map.put("delimiter", "|");


map.put("export_limit", "");


代码执行之后,将执行日志以及执行结果也存入该Map中一起返回


dataMap.put("export_status", isOK);


dataMap.put("proc_log", resultMsg.toString());


return dataMap;


执行结果界面:


Java代码调用Shell脚本并传入参数实现DB2数据库表导出到文件