使用命令行Shellexecute mysql导入SQL文件

时间:2016-12-06 02:23:49

标签: mysql windows command-line cmd shellexecute

如果我在命令窗口输入:

"D:\databases\MySQL-5_0(x64)\bin\mysql.exe" -u root betting < "W:\data\projects\temp\example.sql"

有效

下一个任务在我自己的计算机程序上面运行...

1) 使用shellexecute直接用上面的参数调用mysql对我来说不起作用。研究SO我发现原因是CMD做管道&gt;东西。

2) cmd.exe 上调用shellexecute

cmd / c“D:\ databases \ MySQL-5_0(x64)\ bin \ mysql.exe”-u root betting&lt; “W:\数据\项目\ TEMP \ example.sql”

Delphi代码示例:

  S := '"D:\databases\MySQL-5_0(x64)\bin\mysql.exe" -u root betting < "W:\data\projects\temp\example.sql"';
  S := '/c ' + S;
  ShellExecute(
    0,
    'open',
    'cmd.exe',
    PChar(S),
    nil,
    SW_SHOWMAXIMIZED
  );

也不起作用。

要查看问题所在,我尝试将以下内容放入已打开的命令行提示符窗口中,如下所示:

cmd.exe /c "D:\databases\MySQL-5_0(x64)\bin\mysql.exe" -u root betting < "W:\data\projects\temp\example.sql"

给出错误

  

'D:\ databases \ MySQL-5_0'未被识别为内部或外部   命令,可操作程序或批处理文件。

这令我感到困惑,因为我对双引号的使用应该是正确的。但试着这样做:

cmd.exe /c "mysql.exe" -u root betting < "W:\data\projects\temp\example.sql"

仍然出错:

  

'mysql.exe'无法识别为内部或外部命令,   可操作程序或批处理文件。

我已经达到了我认为的尝试。

任何人都可以了解如何通过命令行指令成功执行mysql ha指示mysql执行SQL文件吗?

0 个答案:

没有答案