java程序中怎么用RunTime执行sql plus命令

 我来答
甘先丿00
推荐于2018-04-16 · TA获得超过293个赞
知道小有建树答主
回答量:183
采纳率:50%
帮助的人:87.5万
展开全部
------解决方案--------------------
把命令写进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存储过程,这是个好东西,你可以试试也许可以解决你说的问题!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式