我创建了一个Winforms来备份我的数据库。然后当我运行我的程序时,它给出了一个Win32Exception未处理。“系统找不到指定的文件”,尽管该文件已经存在并导致该异常。
下面是我的代码关于我的问题
using System.Diagnostics;
private void btnProceed_Click(object sender, EventArgs e)
{
path = @"D:\MySQL\MySQL Server 5.5\bin\mysqldump.exe -u " + txtBoxDBUsername.Text + @" -p " + txtBoxDBName.Text + @" > D:\C#\Client\Salesmate - EMC\SalesMate\Backup\" + maskeTxtBoxDBFile.Text + @"";
Process p = new Process();
p.StartInfo.FileName = path;
p.Start();
}
5条答案
按热度按时间eivnm1vs1#
您可以使用MySqlBackup.NET替代MySqlDump
文件:
http://www.codeproject.com/Articles/256466/MySqlBackup-NET-MySQL-Backup-Solution-for-Csharp-V
https://github.com/MySqlBackupNET/MySqlBackup.Net
示例代码:
备份MySQL数据库
然后是代码,
恢复MySQL数据库
更新:
我是这个图书馆的作者之一。
ttp71kqs2#
我相信你必须提到用户,pwd,数据库名称和目标路径。
备份:# mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql
restore:# mysql -u root -p[root_password] [database_name] < dumpfilename.sql
http://www.thegeekstuff.com/2008/09/backup-and-restore-mysql-database-using-mysqldump/
lskq00tm3#
+ @""
的最后一次出现是完全无用的,它不插入任何引号。更正引号后的正确代码版本为:
path = @"""D:\MySQL\MySQL Server 5.5\bin\mysqldump.exe"" -u " + txtBoxDBUsername.Text + @" -p " + txtBoxDBName.Text + @" > ""D:\C#\Client\Salesmate - EMC\SalesMate\Backup\" + maskeTxtBoxDBFile.Text + @"""";
为了更好的可读性:
path = $@"""D:\MySQL\MySQL Server 5.5\bin\mysqldump.exe"" -u {txtBoxDBUsername.Text} -p {txtBoxDBName.Text} > ""D:\C#\Client\Salesmate - EMC\SalesMate\Backup{maskeTxtBoxDBFile.Text}""";
8ehkhllq4#
这一个为我工作,你可以尝试它,只要你有你的备份。sql文件
b4wnujal5#
你可以试试这个。