Ошибка Mysqlbackup с использованием MysqlBackup 2.0.4
Я пытаюсь сделать резервную копию моей базы данных с кодом ниже, используя mysqlBackUp 2.0.4
private void button9_Click_1(object sender, EventArgs e)
{
try
{
string constring = "Data Source=localhost;User Id=root;Password=sulyman;database=accounting_db";
MySqlConnection conn = new MySqlConnection(constring);
string file = "D:\\backup.sql";
cmd = new MySqlCommand();
cmd.Connection = conn;
dal.Open();
MySqlBackup ba = new MySqlBackup(cmd);
ba.ExportToFile(file);
dal.close();
MessageBox.Show("done");
}
catch(Exception ex)
{ MessageBox.Show(ex.Message); }
}
но я получил ошибку
a object reference note set to an instance of an object
на линии
ba.ExportToFile(file);
где не так с моим кодом, пожалуйста
1 ответ
Решение
Проблема: похоже, что соединение с БД не открыто или вы используете dal.Open()
вместо conn.Open()
,
- Я прокомментировал
dal.Open();
,dal.Close();
и добавилconn.Open();
- Delcared
MySqlCommand
внутренний метод. - добавленной
using
заявление
Попробуйте этот код:
private void button9_Click_1(object sender, EventArgs e)
{
try
{
string constring = "Data Source=localhost;User Id=root;Password=sulyman;database=accounting_db";
string file = "D:\\backup.sql";
using(MySqlConnection conn = new MySqlConnection(constring))
using(MySqlCommand cmd = new MySqlCommand())
{
cmd.Connection = conn;
conn.Open(); //dal.Open();
using(MySqlBackup ba = new MySqlBackup(cmd))
{
ba.ExportToFile(file);
//dal.close();
MessageBox.Show("done");
}
}
catch(Exception ex)
{ MessageBox.Show(ex.Message); }
}