delphi 您所在的位置:网站首页 mysqldump命令作用 delphi

delphi

#delphi| 来源: 网络整理| 查看: 265

我正在尝试使用 ShellExecute 运行 mysqldump 从 delphi 备份我的 mysql 数据库。 这就是我使用 mysqldump 的方式:

MySqlDump.exe -u root -p[password] [databasename] > TheOutputFile.Sql

这可以在命令提示符下运行。

我使用 ShellExecute 调用此命令行:

ShellExecute( 0, nil, 'cmd.exe', 'C:\SmartRetail\Test System\Periodic database backup\MySqlDump.exe -u root -p123 smartretailprogramdata > TheOutputFile2.Sql', nil, SW_SHOW );

这不起作用,而是打开命令提示符。 我做错了什么?

最佳答案

它会打开命令解释器,因为这就是cmd.exe。您需要指定 /C 来告诉 cmd 进程在解释完您的命令后关闭。

最重要的是,您需要管理工作目录。除非 .sql 文件位于工作目录中,否则转储进程将找不到它。并且工作目录是从父进程继承的,因为您没有指定它。您可能需要指定工作目录。

最后,ShellExecute 确实是错误的解决方案。您仅使用它来获取标准输出重定向。但这确实应该明确地完成。请改用CreateProcess。

关于delphi - 通过 ShellExecute 的 Mysqldump 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22439996/



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有