我在java程序中调用sql*load,希望在数据库插入csv中的数据,但运行过后,数据库一点变化也没有。我把命令copy到cmd的运行窗口,他就能正常的插入数据,问一下这是什么原因?
String _cmd = "C:/oracle1/product/10.1.0/Db_1/BIN/sqlldr hyamato/hyamato@hyamato control=c:/ZIPCODE_FIF.ctl";try{
Process ldr=Runtime.getRuntime().exec(_cmd);
InputStream stderr = ldr.getInputStream();
InputStreamReader isr = new InputStreamReader(stderr);
BufferedReader br = new BufferedReader(isr);
String line = null;
while ( (line = br.readLine()) != null)
{
System.out.println(line);
}
stderr.close();
isr.close();
br.close(); ldr.waitFor();
}
catch()
{
}
String _cmd = "C:/oracle1/product/10.1.0/Db_1/BIN/sqlldr hyamato/hyamato@hyamato control=c:/ZIPCODE_FIF.ctl";try{
Process ldr=Runtime.getRuntime().exec(_cmd);
InputStream stderr = ldr.getInputStream();
InputStreamReader isr = new InputStreamReader(stderr);
BufferedReader br = new BufferedReader(isr);
String line = null;
while ( (line = br.readLine()) != null)
{
System.out.println(line);
}
stderr.close();
isr.close();
br.close(); ldr.waitFor();
}
catch()
{
}
SQL*Loader: Release 10.1.0.2.0 - Production on 金 3月 16 14:33:23 2007
Copyright (c) 1982, 2004, Oracle. All rights reserved.
.bad文件根本就没生成。
后来我debug了一下,
*.ctl中指向的csv文件即使不存在,程序也不会报错,
奇怪了
不用start的
bufWriter.flush();
结贴了