2016-11-09 29 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