命令行 sqlldr test/test@test control=a.ctl log=ok.log bad=bad.log,
直接在cmd下执行没有问题,但是通过java的 Runtime.getRuntime().exec("sqlldr test/test@KEN control=E:/aaaa/a.ctl log=E:/aaaa/ok.log bad=E:/aaaa/bad.log");却报错,Exception in thread "main" java.io.IOException: Cannot run program "sqlldr": CreateProcess error=2,
调用其他的打开记事本命令成功,说明java环境也没什么问题,但是单单执行sqlldr的时候却报错了,哪位朋友碰到过的,指点下,不胜感激,急!!!

解决方案 »

  1.   

    写个可执行的bat文件,直接双击bat可以执行成功,但是再用java去调用bat文件时候,还是报一样的错误
      

  2.   

    这样试试看:exec("cmd.exe /c start sqlldr test/test@KEN control=E:/aaaa/a.ctl log=E:/aaaa/ok.log bad=E:/aaaa/bad.log");
      

  3.   

    如果sqlldr 程序不在path环境变量中,试试看写全路径名
      

  4.   

    最好的办法就是给sqlldr设置一个环境变量。就像java一样,在哪个盘下都能执行。
      

  5.   

    主要是这个路径在cmd下可以运行 到了java中使用runtime来运行就报错了