java - 在Linux上使用rt.exec(mysql加载数据)执行命令

标签 java mysql linux

我在执行以下代码时遇到问题:

  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/

相关文章:

java - 我该如何处理 FileWriter 中的此错误?

mysql - 日期字符串操作

linux - 通过删除 ctrl-m 字符和双空行在 srt 文件中保留单个空格行

linux - 在两个文件之间创建硬链接(hard link)

java - Java从xml中获取特定属性值

java - 获取可从 java 源代码调用的类中的方法列表

Java算法查询

jquery - 浏览器如何能够记住输入字段?

mysql - 如何使用 group by 'a' field by max of 'b' field 合并两个生成的表?

c++ - 关于处理超过 1024 个套接字描述符