以下是我在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或者没有安装在正确的位置,但我尝试从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 server数据库,但现在我需要用mysql做同样的事情。如果有任何方法可以使用BCP(我很确定没有)或其他东西从本地文件批量上传数据,我也愿意听到这一点。
修改 我在远程桌面上使用Windows 8。我已经手动将mysqlimport.exe添加到PATH环境变量中,它仍然会出现相同的错误。
答案 0 :(得分:0)
如果您使用的是Windows,请尝试将mysqlimport.exe
作为命令,而不仅仅是mysqlimport
。如果仍然无法解决您的问题,请确保'mysqlimport.exe'在您的PATH环境变量中。