2016-11-09 28 views
2

當我從documentation跟隨在其最基本的形式進口的命令是:Mysql的導入命令CMD上運行,但不傳遞參數時,當工作直接

mysql.exe < example.sql 

它的工作原理,當我從命令運行在Windows中行。但是,當我開始mysql.exe< example.sql參數時,它不起作用。例如,創建快捷方式並將其路徑設置爲mysql.exe < example.sql不起作用,它僅打印mysql.exe的幫助信息。

作爲一個方面說明,我首先注意到試圖運行下面的C#代碼時,這個問題:

new Process 
     { 
      StartInfo = new ProcessStartInfo 
      { 
       FileName = "mysql.exe", 
       Arguments = "< example.sql", 
      } 
     }.Start(); 
+0

你是什麼意思由此mysql.exe與

+0
+0

@aschipfl您是否知道將sql文件作爲參數傳遞給'mysql.exe'的方法。你也可以把你的評論變成答案。它回答了我的問題。 –

回答

2

的部分< example.sql並不爲mysql.exe contitute參數; <字符表示redirection運營商,因此文件example.sql的內容被重定向到mysql.exe

我想你必須將文件名更改爲cmd.exe和參數/C "mysql.exe < example.sql"。考慮指定所有文件的完全絕對路徑。

0

我不工作在Windows,但我相信你的完整路徑+數據庫主機名最好填寫信息:

C:\mysql\directory\bin\mysql -h {hostname} -u {username} -p {databasename} < example.sql 
+0

...以及'example.sql'的完整路徑;引用每個路徑以避免出現空格和其他特殊字符的麻煩... – aschipfl