Runtime.getRuntime().exec(sCmd)问题

jiang_xiao 2007-01-15 06:23:26
public static int exec(String sCmd){
Process p = Runtime.getRuntime().exec(sCmd);
int iResult = p.waitFor();
return iResult;
}
sCmd为传入的一个oracle倒入语句(imp),
我现在执行完倒入后,还要进行一个表数据量的核对
现在问题是如果imp语句里表多的话,就会出现问题。表的倒入语句还没执行完,程序就会去查表。我想应该是不是需要做同步?哪位能告知如何改?
...全文
329 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lixiaoxue85 2007-01-16
  • 打赏
  • 举报
回复
imp语句里表多的话,就会出现问题。表的倒入语句还没执行完,程序就会去查表
LZ确定是因为没有同步而引起的吗?是不是由于数据量过大导致Process没执行完全
(建议单独exec下看结果)
Process p = Runtime.getRuntime().exec(sCmd);
int iResult = p.waitFor();
==>如果问题确实是这样~在导表的最后一句更新一个queryFlag字段为true
一直查询queryFlag字段,比较直观,或许有更好的办法~
while(queryFlag==true)
querying~
jiang_xiao 2007-01-16
  • 打赏
  • 举报
回复
有没什么更好的方法了 ?
YuLimin 2007-01-15
  • 打赏
  • 举报
回复
表的倒入语句还没执行完

可以导入一个表的某个标志,判断这个标志数据导入后,再进行查询,没有导入就等待一下。
wlp555ren 2007-01-15
  • 打赏
  • 举报
回复
有点难度。。关注一下。。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧