首页 > 解决方案 > 从 C# 调用时无法识别 mysqldump 命令

问题描述

我想通过我的 c# 应用程序转储一个 mysql 数据库。这是代码的样子:

                ProcessStartInfo cmd = new ProcessStartInfo()
            {
                FileName = "cmd.exe",
                CreateNoWindow = true,
                WindowStyle = ProcessWindowStyle.Hidden,
                Arguments = "/C cd %programfiles%\\mysql\\mysql server 5.6\\bin\\ & mysqldump.exe --user=user --password=pwd --host=localhost --protocol=tcp --verbose=true --port=3306 --default-character-set=utf8 --skip-triggers \"db\" > \"mydb.sql\"",
                UseShellExecute = false,
            };
            using (Process exeProcess = Process.Start(cmd))
            {
                exeProcess.WaitForExit();
            }

但它说“mysqldump”不被识别为内部命令。请注意,当我在普通命令提示符窗口中执行命令时,一切正常。

我试图改变命令llke这个:

"/C cd /D %programfiles%\\mysql\\mysql server 5.6\\bin\\ & mysqldump.exe --user=user --password=pwd --host=localhost --protocol=tcp --verbose=true --port=3306 --default-character-set=utf8 --skip-triggers \"db\" > \"mydb.sql\""

但是执行似乎使我的应用程序冻结了很长时间。

标签: c#mysqldatabasecommand

解决方案


推荐阅读