gpt4 book ai didi

java - 我想在其中备份数据库的桌面应用程序系统

转载 作者:行者123 更新时间:2023-11-29 10:59:15 25 4
gpt4 key购买 nike

我创建了一个桌面应用程序系统,我想在其中备份数据库。

我正在使用如下所示的代码:

 process p = null;
p = runtime.exec("E:/xampp/mysql/bin/mysqldump -uroot --add-drop-database -B clinic_management -r "+path+".sql");

int processComplite = p.waitFor();

System.out.println("processComplite" + processComplite);

if(processComplite==0) {
JOptionPane.showMessageDialog(null, "<html><center> backup complite<br> Check this folder<br>"+path+"</center><html>");
jTextField1.setText("");
} else {
JOptionPane.showMessageDialog(null, " backup not complite");
}

它在某些系统中工作正常,但有时会显示

 processComplite=1

最佳答案

请参阅 waitFor() 的 javadoc :

返回:此 Process 对象表示的子进程的退出值。按照惯例,值 0 表示正常终止。

换句话说:您的数据库操作失败。您可以做两件事:

  • 检查mysqldump是否生成日志文件;看看你能不能在里面找到什么东西
  • 到目前为止,您完全忽略在进行该进程调用时写入 stdout/stderr 的任何输出。

含义:您可以通过执行以下操作来访问可能由 msqldump 编写的消息:

 InputStream stdout = p.getInputStream();
InputStream stderr = p.getErrorStream();
int returnCode = p.waitFor();
if (returnCode == 0) {
... give positive message
} else {
read data from streams and display those

关于java - 我想在其中备份数据库的桌面应用程序系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42528712/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com