今天做了一个练习来通过java程序来通过sqlldr来对数据库进行添加数据发现了一点小问题,执行的语句如下
Runtime.getRuntime().exec("sqlldr userid=user/password@dataName control=D:\\oracle\\insert.ctl");
然后这边正常的在cmd端执行就是ok的,数据库的数据也可以进行添加,但是在java端执行后就会出现IO的异常:java.io.IOException: Cannot run program "sqlldr" (in directory "D:\oracle"): CreateProcess error=2
上网也查了好多的资料,后来才发现这应该是idea的关系
我一开始了一下环境变量的配置
Map<String, String> map = System.getenv();
for(Iterator<String> itr = map.keySet().iterator(); itr.hasNext();){
String key = itr.next();
System.out.println(key + "=" + map.get(key));
}
一查发现竟然没有Oracle的环境变量,这才想到可能是安装oracle的时候idea一直是打开的情况,并且回去之后也没有关掉导致的
后面重启了一下idea就好了。。。查了半天的资料原来就重启一下就可以了真的是麻了