我的应用程序包含一个用于备份的java框架。我在公共类中添加以下代码并调用它。我需要的是在应用程序中创建MySQL转储文件。如何使用java代码,以下集合代码将为您提供我的程序中的确切功能。
public boolean backupDB() {
connection = (Connection) dbSource.getConnection();
String executeCmd = "\"C:\\Program Files\\MySQL\\MySQL Server 5.1\\bin\\mysqldump\" -u root -p pass macfast -r backup.sql";
Process runtimeProcess;
try {
runtimeProcess = Runtime.getRuntime().exec(executeCmd);
int processComplete = runtimeProcess.waitFor();
if (processComplete == 0) {
System.out.println("Backup created successfully");
return true;
} else {
System.out.println("Could not create the backup");
}
} catch (Exception ex) {
ex.printStackTrace();
}
return false;
}
我打电话给
private void backupbtnActionPerformed(java.awt.event.ActionEvent evt) {
backupDB();
}
当我试图跑步时它停滞不前。跑完后我无法关闭框架。只能通过taskmanager.why?
答案 0 :(得分:0)
确保mysqldump位于系统PATH环境变量
上该错误表明它无法找到该程序,这意味着它可能正在工作目录中查找。
答案 1 :(得分:0)
为什么不尝试使用实用程序的完整路径?
/<fullpath>/mysqldump -u
答案 2 :(得分:0)
似乎问题是...... Program Files ...之间的空白区域,你需要将路径包含在“
中更改String executeCmd = "C:\\Program Files\\MySQL\\MySQL Server 5.1\\bin\\mysqldump -u root -p pass macfast -r backup.sql";
到
String executeCmd = "\"C:\\Program Files\\MySQL\\MySQL Server 5.1\\bin\\mysqldump\" -u root -p pass macfast -r backup.sql";