命令语句 "sqlldr user/pwd@sid control=a.ctl log=log.txt bad = bad.txt"环境 windows和unix/linux在windows下直接试用cmd命令和unix/linux下直接输入命令都是没有问题,数据完整。通过java代码调用, Runtime.getRuntime().exec("sqlldr user/pwd@sid control=a.ctl log=log.txt bad = bad.txt");windows下也没有问题,但是在unix/linux下会出现数据丢失现象。而且丢失比较有规律,如插入的数据文件超过1W行时时候很容易发生只插入了10560行,但是数据文件是没有错的,如果数据文件格式有错,那在windows下应该会发生同样的问题。网上查了一下,有用Process来调用的执行,我想这个应该跟直接调用runtime应该也没什么关系。而且问题是,当数据丢失后,log.txt文件始终是空的,bad.txt也不会生成。
不知道这个是不是跟我建的表结构、存储大小有关系,但是头痛的是,windows下一点状况都没有,unix/linux下的表也是直接拷贝windows下的表的。不知道有没有哪位朋友也碰到过类似问题,或者估计一下可能会出问题的地方的,先谢了。
不知道这个是不是跟我建的表结构、存储大小有关系,但是头痛的是,windows下一点状况都没有,unix/linux下的表也是直接拷贝windows下的表的。不知道有没有哪位朋友也碰到过类似问题,或者估计一下可能会出问题的地方的,先谢了。
楼主【watermms】截止到2008-07-10 12:40:15的历史汇总数据(不包括此帖):
发帖的总数量:0 发帖的总分数:0 每贴平均分数:0
回帖的总数量:0 得分贴总数量:0 回帖的得分率:0%
结贴的总数量:0 结贴的总分数:0
无满意结贴数:0 无满意结贴分:0
未结的帖子数:0 未结的总分数:0
结贴的百分比:---------------------结分的百分比:---------------------
无满意结贴率:---------------------无满意结分率:---------------------
如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
刚才写了个shell脚本,直接调用该脚本,也没问题,用java调用改脚本,一样的问题.......................
救命啊~~~~~~~~~~~~~~~~
造成有的sql执行没成功吗?
光从日志文件文件来看是没有任何异常,而且我专门对那条Runtime.getRuntime().exec("sqlldr user/pwd@sid control=a.ctl log=log.txt bad = bad.txt");
做了一个单独异常捕获。