1

我正在尝试执行诸如 exp 之类的系统命令来备份数据库。但是,如果登录详细信息错误或数据库不存在,则不会引发异常。

我该如何处理这种抛出异常的情况?

欢迎所有乐于助人的人..

问候, 斯瓦鲁巴

4

3 回答 3

1

Java exec 运行一个外部进程。您将必须获得 exec() 的返回值,它是一个进程。您应该检查 Process.exitValue() 以查看外部进程返回的错误。

您还可以从流程中获取 inputStream 以查看您正在执行的程序的输出等内容。

于 2010-11-11T14:09:37.847 回答
1

除非你能从外部进程的返回码中分辨出一些东西,否则你可能不走运。我想您可以将 exp 的控制台输出通过管道传输到文件或字符串缓冲区中,然后对其进行解析。你能用 JDBC 来备份它吗?

于 2010-11-11T13:46:57.467 回答
0

这在很大程度上取决于您使用的是哪种数据库软件。我会检查所需数据库的文件是否存在。 if((new File("dbfilename")).exists())

于 2010-11-11T13:46:31.177 回答