0
我試圖以編程方式將一個.sql文件導入到MySQL中。 .sql文件由mysqldump生成。我試圖在Java程序中動態執行此操作。但是,它仍然在Java中的「<」字符上失敗(我認爲)。如果我在它將要運行的命令(下面的「組合」變量)的調試器中獲取字符串,並將其粘貼到命令行中,它可以正常工作。同樣,當我試圖讓mysqldump在這個程序中工作時,它在「>」字符上失敗,我不得不用「--result-file =」參數替換它以使其工作。使用Java代碼將.sql文件導入到MySQL中
String command = mySqlPath + "mysql.exe";
String user = "-u " + settings.dbUser;
String password = "-p" + settings.dbPassword;
String db = settings.dbDatabase;
String inputFile = filePath + mySqlDumpFile;
String combined = command + " " + user + " " + password + " " + db + " < " + inputFile;
ExternalCommandExecuter ece = new ExternalCommandExecuter(combined);
int code = ece.execute();
這導致了這個字符串,例如
C:\software\mysql5\bin\mysql.exe -u root -p<password>
db_name < C:\software\tomcat7\webapps\ROOT\WEB-INF\documents\dump-1461789460425.sql
這將導致在1粘貼到命令行的退出碼,它會工作。
但是爲什麼會遇到所有這些問題 – e4c5
因爲會有幾十個轉儲,並且該軟件使客戶能夠使用webapp在不同時間跳轉到不同的時間點。 – bluedevil2k
不,我設置的方式更好,因爲sql轉儲文件將通過電子郵件發送並在本地使用。 – bluedevil2k