0

私のアプリケーションには、バックアップ用の Java フレームが 1 つ含まれています。パブリック クラスに次のコードを追加し、それを呼び出します。アプリケーションで 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();
}

実行しようとするとスタックしました。実行後、フレームを閉じることができません。タスクマネージャーを介してのみ可能です。なぜですか?

4

3 に答える 3

0

mysqldump がシステムの PATH 環境変数にあることを確認してください

このエラーは、そのプログラムが見つからないことを示しています。つまり、作業ディレクトリを探している可能性があります。

于 2013-07-30T19:26:02.033 に答える
0

utility へのフルパスで試してみませんか?

/<fullpath>/mysqldump -u
于 2013-07-31T10:50:37.373 に答える