c# - 从 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\""
但是执行似乎使我的应用程序冻结了很长时间。
解决方案
推荐阅读
- python - 优化在 python 列表上运行的 cython 函数
- caldav - SOGo:CalDAV 条目未显示在客户端(iOS、macOS、Android)中
- android - CookieManager 没有保存我的 cookie [Android - HttpUrlConnection]
- node.js - Dockerfile:如何在节点高山映像上正确安装 bcrypt?
- sql - 日期差异 = 0 在哪里子句 Oracle?
- javascript - Paho MQTT JS 客户端已连接错误?
- python - 使用 Pandas 计算频率和计数记录
- asp.net-core - 在 Asp.Net Core 下为 RequestId 日志配置 JsNLog 和 NLog
- cmake - 如何在 Windows 的 eigen3 中启用 pkg-config 支持?
- c++ - 在为类实现移动赋值运算符时真的需要自赋值检查吗?