这是我在Java中使用Runtime.getRuntime().exec()
运行的命令:
mysqlimport --fields-terminated-by=, --lines-terminated-by="|" --local
--user=u --password=p DatabaseName
txtpath
这是我得到的错误:
java.io.IOException: Cannot run program "mysqlimport": CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessBuilder.start(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at databaseCommunication.UploadThread.run(UploadThread.java:66)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(Unknown Source)
at java.lang.ProcessImpl.start(Unknown Source)
... 5 more
看来问题应该出在未安装mysqlimport.exe或未将mysqlimport.exe安装在正确的位置,但是我尝试从http://dev.mysql.com/downloads/windows/installer/5.6.html和https://dev.mysql.com/downloads/utilities/下载mySQL实用程序。
为了确保问题不是在“ txtpath”中找不到该文件,我在命令提示符下键入了完整路径,并打开了正确的文件,因此错误肯定是指向mysqlimport.exe。
谷歌搜索我的问题,我只能找到我不熟悉的称为“ Sqoop”的线程,他们通常建议下载mysql实用程序。
为了获得更多的上下文,我一直在使用BCP将数据从txt文件上传到sql服务器数据库,但是现在我需要对mysql做同样的事情。如果有任何方法可以使用BCP(我很确定没有)或使用其他方法从本地文件批量上传数据,我也很乐意听到。
编辑:
我正在远程桌面上使用Windows 8。我已经将mysqlimport.exe手动添加到PATH环境变量中,它仍然给出相同的错误。
最佳答案
如果您使用的是Windows,请尝试将mysqlimport.exe
用作命令,而不仅仅是mysqlimport
。如果那仍然不能解决您的问题,请确保PATH环境变量中包含“ mysqlimport.exe”。
关于java - 如何使用mysqlimport?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31685607/