用java做oracle数据库备份有问题!急急急!!!

07-06-21 xxtonyxx
各位高手,大侠帮小弟看看这段代码吧!麻烦了,很棘手啊!

这段程序已经能够让oracle正确执行备份了.

但是为了让java程序能够检测备份是否成功,我做了读去进程错误信息的操作:

br.readLine()

这个时候就出问题了,不能读出任何信息,程序也不会往下执行了,

并且没有任何错误提示.

代码如下:

===================================

String command = "cmd /k start exp " + user + "/" + pass + " FILE=" + filename +" full = y";

java.lang.Runtime rt = java.lang.Runtime.getRuntime();

java.lang.Process p = rt.exec(command);

try {

BufferedReader br = new BufferedReader( new InputStreamReader(p.getInputStream()));

String str;

while ((str = br.readLine()) != null) {

//执行到这里就会死掉,并且什么错误提示都没有啊。

System.out.println(str);

}

p.waitFor();

} catch (InterruptedException ex1) {

System.out.println(ex1.getMessage());

}

===================================

我做过实验,

把command换成ping www.sina.con.cn

就能够顺利执行并成功读出信息.

请问这是怎么回事啊?

有没有能够监控oracle备份的其他办法?

急死我啦!各位高手帮帮忙啊,感激不尽!!!

banq
2007-06-21 15:48
使用这种while死循环当然容易死了。因为是流操作。

猜你喜欢