我执行的过程本身并没有完成

时间:2015-03-13 19:45:14

标签: java oracle

我试图在JAVA中从我的应用程序运行导出数据泵(expdp)。问题是expdp进程永远不会结束。 数据泵成功启动,运行和完成,但该过程仍显示为在Windows任务管理器中运行,导致我的应用程序继续执行。它一直在等待进程结束。

到目前为止,这只发生在这个特定的进程(expdp)中。我尝试过一些.bat脚本,它们运行得很好。

public class DataPump {

private static Date date = new Date(); static DateFormat hourFormat = new SimpleDateFormat("HHmm"); static DateFormat dateFormat = new SimpleDateFormat("MMddyyyy"); private static String comando="expdp"; private static String user="user/***********@DB1"; private static String schemas="schemas=ADMIN"; private static String directory="directory=BACKUPS"; private static String dumpfile="dumpfile=Backup_" + dateFormat.format(date) + "_" + hourFormat.format(date) + ".dmp"; private static String logfile="logfile=Backup_" + dateFormat.format(date) + "_" + hourFormat.format(date) + ".log"; private static String parallel ="parallel=4"; public static void expdp() { try { Process p = new ProcessBuilder(comando, user, schemas, directory, dumpfile, logfile, parallel).start(); p.waitFor(); } catch (Exception e) { JOptionPane.showMessageDialog(null, e.getMessage()); e.printStackTrace(); } JOptionPane.showMessageDialog(null, "the export datapump finished"); }

}

0 个答案:

没有答案