我在执行以下代码时遇到问题:
Process pr = rt.exec("mysql -uroot -pcdac123 -e \""
+ "use rrrlfdev;load data local infile '"
+ fpath
+ "' into table t_adm_despatch fields terminated by ',' enclosed by '\\\"' lines terminated by '\\n' (dispatchno,dispatchdate,dispatchName, dispatchAddress, fileNo)"
+ "\"");
同样在 Windows 上运行良好。
最佳答案
Java 需要分别了解命令和参数。你可以做两件事
1) 您可以尝试使用 exec(String command, String[] Args) 分别提供 cmd 和 args
2) 您可以将 mysql 命令和每个参数括在双引号中。
在您的情况下,错误是引号开头的位置错误。没有像
这样的命令mysql -uroot -pcdac123 -e\".....
这就是它显示帮助文件的原因。 mysql命令后应加双引号,如
mysql\"-uroot -pcdac123 -e .....
希望这会有所帮助
关于java - 在Linux上使用rt.exec(mysql加载数据)执行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12004174/