OS X で Java を使用して SQL スクリプトを実行し、データベースをテスト用に開始しようとしています。推奨される方法ではないことはわかっていますが、一時的な解決策です。
関数とパラメーターを渡す方法について読み込もうとしましたが、exec()
機能させることができません。
私のコードは次のようになります。
try {
Process p = Runtime.getRuntime().exec("/usr/local/mysql/bin/mysql -uroot dev_test <div/test_db.sql");
p.waitFor();
BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
while ((line = input.readLine()) != null) {
System.out.println(line);
}
input.close();
} catch (Exception e) {
e.printStackTrace();
}
}
また、引数を文字列配列で渡そうとしましたが、うまくいきませんでした。
この形式を使用して Windows マシンで実行することはできましたが、osx で動作するように変更することはできません。
Process p = Runtime.getRuntime().exec(new String[] { "cmd", "/C", "mysql -u root dev_test < div\\test_db.sql" });