我想備份用mysql和C# 通過以下方式數據庫...{「目錄名無效」} Win32Exception了未處理
public static void backupDatabase()
{
Process sd = null;
ProcessStartInfo r1 = new ProcessStartInfo("C:\\Program Files\\MySQL\\MySQL Workbench 5.2 CE\\", "--databases=access --compress --routines --triggers --add-drop-database --add-drop-table --add-locks --extended-insert --port=3080 --user=root --disable-keys --quick --comments --complete-insert --result-file=DUMPEDOUTPUT.sql");
r1.CreateNoWindow = true;
r1.WorkingDirectory = "C:\\Program Files\\MySQL\\MySQL Workbench 5.2 CE\\";
r1.UseShellExecute = false;
r1.WindowStyle = ProcessWindowStyle.Minimized;
r1.RedirectStandardInput = false;
sd = Process.Start(r1);
sd.WaitForExit();
if (!sd.HasExited)
{
sd.Close();
}
sd.Dispose();
r1 = null;
sd = null;
}
了在這條線的異常sd = Process.Start(r1);
Exception :{"The directory name is invalid"} Win32Exception Was unhandled
會不會有人請幫助我的傢伙
許多在此先感謝..
修改代碼:
public static void backupDatabase()
{
Process sd = null;
ProcessStartInfo r1 = new ProcessStartInfo("MySQLWorkbench.exe", "--databases access --compress --routines --triggers --add-drop-database --add-drop-table --add-locks --extended-insert --port=3080 --user=root --disable-keys --quick --comments --complete-insert --result-file=DUMPEDOUTPUT.sql");
r1.CreateNoWindow = true;
r1.WorkingDirectory = @"C:\Program Files\MySQL\MySQL Workbench 5.2 CE\MySQLWorkbench.exe";
r1.UseShellExecute = false;
r1.WindowStyle = ProcessWindowStyle.Minimized;
r1.RedirectStandardInput = false;
sd = Process.Start(r1);
sd.WaitForExit();
if (!sd.HasExited)
{
sd.Close();
}
sd.Dispose();
r1 = null;
sd = null;
}
我收到同樣的錯誤在同一行..
我在'ProcessStartInfo'中看不到可執行文件名......是這種情況嗎? – Lyth
在該行上添加一個斷點,驗證可以從命令行使用相同的值。你至少需要嘗試自己解決這個問題。你需要使用這個線程中實際建議的內容http://stackoverflow.com/questions/7686256/how-to-backup-the-database-using-mysql-and-c-net –
有點失望你已經打開了一個一個新的問題,而不是跟上你打開的原始問題的答案。我在我提供的代碼中提供了提示,您需要輸入自己的mysqldump.exe副本的路徑 - 在此修改版本中,您只輸入了MySQL Workbench的路徑,而不是您需要的備份工具目標。您仍然需要在要運行此代碼的計算機上安裝MySQL。 – simbolo