2
我試圖從Java方法運行SQL Loader,但我遇到了問題。從Java運行SQL Loader - 並非所有行都加載
我正在創建運行時進程來運行SQLLDR命令,但並未加載數據文件中的所有行。相反,無論數據文件中的總行數如何,它都會陷入相同數量的行(5184行)。
但是,當我複製完全相同的命令並直接從命令提示符運行它時,它工作正常並且所有行都正在加載。
任何想法可能是這個問題的原因是什麼?是否需要更改Java中的某種緩衝區大小?
謝謝!
// Run SQL Loader after creating the control file
Runtime rt = Runtime.getRuntime();
String sqlLoaderPath = "C:\\app\\product\\11.1.0\\client_1\\BIN\\";
String cmd = sqlLoaderPath + "SQLLDR.EXE userid=***************************"
+ "data=c:\\sqlldr\\sqlldr_data.dat "
+ "control=c:\\sqlldr\\sqlldr_control.ctl "
+ "log=c:\\sqlldr\\sqlldr_log.log "
+ "discard=c:\\sqlldr\\sqlldr_discard.disc "
+ "bad=c:\\sqlldr\\sqlldr_bad.bad ";
Process proc = rt.exec(cmd);
int exitVal = proc.waitFor();
proc.destroy();
日誌文件說什麼? –
你能展示你的代碼嗎? –
好的我編輯帖子以包含代碼。 日誌文件爲空,因爲進程沒有終止,因此它不會向日志文件寫入任何內容。 – user1856152