public class OracleLoadDataUntil {
/**
* 编写控制文件
* @param tableName 表名
* @param delimiter csv文件分隔符
* @param fieldNames 属性集合
* @param ctlFilePath ctl控制文件地址
* @param tempCsvPath csv文件地址
* @return
*/
private void createCtlFile(String tempCsvPath, String ctlFilePath, String tableName, String ownerAcct, String delimiter, List<String> fieldNames) {
FileWriter fw = null;
try {
String ctlStr = getStrCtr(tempCsvPath, ownerAcct, tableName, delimiter, fieldNames);
fw = new FileWriter(ctlFilePath);
fw.write(ctlStr);
} catch (IOException e) {
LogUtil.error("写出文件:" + ctlFilePath + "异常", e);
} finally {
try {
if(fw != null){
fw.close();
}
} catch (IOException e) {
LogUtil.error(e);
}
}
}
/**
* @return sqlload的执行语句
*/
public static void excuteLoadData(String logfilePath, String tempCsvPath, String tempCtlPath, String ip, String port, String password, String userName, String serviceName, String tableName, boolean isRun, List<String> failLogFiles) throws IOException {
SequenceInputStream sis = null;
try {
LogUtil.info("开始导入数据:" + tempCsvPath);
//导入命令
String sqlldrStr = "sqlldr userid=" + userName + "/'" + password + "'@" + ip +
oracle sqlload 导入数据
于 2024-01-31 16:39:57 首次发布