我正在尝试执行诸如 exp 之类的系统命令来备份数据库。但是,如果登录详细信息错误或数据库不存在,则不会引发异常。
我该如何处理这种抛出异常的情况?
欢迎所有乐于助人的人..
问候, 斯瓦鲁巴
我正在尝试执行诸如 exp 之类的系统命令来备份数据库。但是,如果登录详细信息错误或数据库不存在,则不会引发异常。
我该如何处理这种抛出异常的情况?
欢迎所有乐于助人的人..
问候, 斯瓦鲁巴
Java exec 运行一个外部进程。您将必须获得 exec() 的返回值,它是一个进程。您应该检查 Process.exitValue() 以查看外部进程返回的错误。
您还可以从流程中获取 inputStream 以查看您正在执行的程序的输出等内容。
除非你能从外部进程的返回码中分辨出一些东西,否则你可能不走运。我想您可以将 exp 的控制台输出通过管道传输到文件或字符串缓冲区中,然后对其进行解析。你能用 JDBC 来备份它吗?
这在很大程度上取决于您使用的是哪种数据库软件。我会检查所需数据库的文件是否存在。
if((new File("dbfilename")).exists())