java程序中怎么用RunTime执行sql plus命令
展开全部
------解决方案--------------------
把命令写进bat文件。java调用bat可以吗?
package test;
import java.io.IOException;
public class Test {
public static void main(String[] args) {
try {
Runtime r = Runtime.getRuntime();
Process p = r.exec( "cmd.exe /c "+ "start /min d:\\a.bat ");
} catch (IOException e) {
e.printStackTrace();
}
}
}
------解决方案--------------------
r.exec( "cmd.exe /c "+ "start /min exp username/password@servicename file=filename ... ");
直接使用一条exp就可以了。
------解决方案--------------------
对于这个错误,怀疑是两边数据库的字段类型有出入造成的。
exp的话,语法大概是 exp userid/passwd@连接名 .... tables=tablename query= 'where 条件部分 '
倒入的话,使用imp倒入即可。
不过我倒不推荐使用这种方法。
如果sqlloader不行,可以考虑使用pro*c把格式好的数据倒入到DB中。
大概的思路:
使用plsql生成一个自定义格式的文件比如说.csv(逗号分割)
使用pro*c读取生成生的.csv文件,把数据insert到数据库中。
------解决方案--------------------
现在oracle支持java存储过程,这是个好东西,你可以试试也许可以解决你说的问题!
把命令写进bat文件。java调用bat可以吗?
package test;
import java.io.IOException;
public class Test {
public static void main(String[] args) {
try {
Runtime r = Runtime.getRuntime();
Process p = r.exec( "cmd.exe /c "+ "start /min d:\\a.bat ");
} catch (IOException e) {
e.printStackTrace();
}
}
}
------解决方案--------------------
r.exec( "cmd.exe /c "+ "start /min exp username/password@servicename file=filename ... ");
直接使用一条exp就可以了。
------解决方案--------------------
对于这个错误,怀疑是两边数据库的字段类型有出入造成的。
exp的话,语法大概是 exp userid/passwd@连接名 .... tables=tablename query= 'where 条件部分 '
倒入的话,使用imp倒入即可。
不过我倒不推荐使用这种方法。
如果sqlloader不行,可以考虑使用pro*c把格式好的数据倒入到DB中。
大概的思路:
使用plsql生成一个自定义格式的文件比如说.csv(逗号分割)
使用pro*c读取生成生的.csv文件,把数据insert到数据库中。
------解决方案--------------------
现在oracle支持java存储过程,这是个好东西,你可以试试也许可以解决你说的问题!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询