使用C#备份数据库MySQL中 [英] Backing up Database in MySQL using C#

查看:542
本文介绍了使用C#备份数据库MySQL中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我创建一个WinForms,以备份我的数据库。然后当我运行我的程序它提供了一个Win32Exception了未处理。 系统找不到指定文件虽然文件已经存在,并导致该例外。



下面是我对我的问题。

$ B $代码b

 使用System.Diagnostics程序; 

私人无效btnProceed_Click(对象发件人,EventArgs五)
{
路径= @D:\MySQL\MySQL服务器5.5\bin\mysqldump.exe - U+ txtBoxDBUsername.Text + @-p+ txtBoxDBName.Text + @> D:\C#\Client\Salesmate - EMC\SalesMate\Backup\+ maskeTxtBoxDBFile.Text + @
进程p =新工艺();
p.StartInfo.FileName =路径;
p.Start();
}


解决方案

您可以使用 MySqlBackup.NET 作为替代的 mysqldump的

文档:

http://www.codeproject.com/Articles/256466/MySqlBackup-NET-MySQL-Backup-Solution-for-Csharp- V

http://mysqlbackupnet.codeplex.com/



样品代码:



备份MySQL数据库

 私人无效备份()
{
串constring =服务器=本地主机;用户=根; PWD = QWERTY;数据库=测试;;
字符串文件=C:\\backup.sql通过使用(的MySqlConnection康恩=新的MySqlConnection(constring))
{
(MySqlCommand的CMD =新的MySqlCommand())
{
使用(MySqlBackup MB =新MySqlBackup
(CMD))
{
cmd.Connection =康恩;
conn.Open();
mb.ExportToFile(文件);
conn.Close();
}
}
}
}



还原一个MySQL数据库

 私人无效还原( )
{
串constring =服务器=本地主机;用户=根; PWD = QWERTY;数据库=测试;;
字符串文件=C:\\backup.sql通过使用(的MySqlConnection康恩=新的MySqlConnection(constring))
{
(MySqlCommand的CMD =新的MySqlCommand())
{
使用(MySqlBackup MB =新MySqlBackup
(CMD))
{
cmd.Connection =康恩;
conn.Open();
mb.ImportFromFile(文件);
conn.Close();
}
}
}
}

< STRONG>更新:

我这个库的作者之一。


I created a Winforms in order to backup my Database. Then When I run my program it gives an Win32Exception was unhandled. "The system cannot find the file specified" Although the file is already existed and resulted to that exception.

Here is my code regarding my problem

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();
}

解决方案

You can use MySqlBackup.NET as alternative to MySqlDump
Documentation:
http://www.codeproject.com/Articles/256466/MySqlBackup-NET-MySQL-Backup-Solution-for-Csharp-V
http://mysqlbackupnet.codeplex.com/

Sample codes:

Backup a MySQL database

private void Backup()
{
    string constring = "server=localhost;user=root;pwd=qwerty;database=test;";
    string file = "C:\\backup.sql";
    using (MySqlConnection conn = new MySqlConnection(constring))
    {
        using (MySqlCommand cmd = new MySqlCommand())
        {
            using (MySqlBackup mb = new MySqlBackup(cmd))
            {
                cmd.Connection = conn;
                conn.Open();
                mb.ExportToFile(file);
                conn.Close();
            }
        }
    }
}


Restore a MySQL database

private void Restore()
{
    string constring = "server=localhost;user=root;pwd=qwerty;database=test;";
    string file = "C:\\backup.sql";
    using (MySqlConnection conn = new MySqlConnection(constring))
    {
        using (MySqlCommand cmd = new MySqlCommand())
        {
            using (MySqlBackup mb = new MySqlBackup(cmd))
            {
                cmd.Connection = conn;
                conn.Open();
                mb.ImportFromFile(file);
                conn.Close();
            }
        }
    }
}

Update:
I am one of the author of this library.

这篇关于使用C#备份数据库MySQL中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆