delphi | 您所在的位置:网站首页 › mysqldump命令作用 › delphi |
我正在尝试使用 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 实验室设备网 版权所有 |