我正在尝试在 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" });