C # Восстановление онлайн БД - PullRequest
0 голосов
/ 03 февраля 2011

просто еще один вопрос.

У меня есть проект на C #, в котором есть функция резервного копирования и восстановления онлайновой базы данных MySQL. Функция резервного копирования работает достаточно хорошо, но я не могу заставить ее работать в режиме онлайн. Это хорошо работает для локальной базы данных.

Вот мой код для функции восстановления:

private void restoreToolStripMenuItem_Click(object sender, EventArgs e)
{
     //restoreFile is an OpenFileDialog
     restoreFile.Title = "Restore Database";
     restoreFile.FileName = "";
     restoreFile.Filter = "MySQL Dump (*.sql)|*.sql";
     DialogResult dr = restoreFile.ShowDialog();

          if (dr == DialogResult.OK)
          {
               string filepath = restoreFile.FileName;
               StreamReader file = new StreamReader(filepath);
               string input = file.ReadToEnd();
               file.Close();

               ProcessStartInfo psi = new ProcessStartInfo();
               psi.FileName = "mysql";
               psi.RedirectStandardInput = true;
               psi.RedirectStandardOutput = false;
               psi.Arguments = string.Format(@"-u{0} -p{1} -h{2} {3}", "uName", "pass", "localhost", "database");
               psi.UseShellExecute = false;

               Process process = Process.Start(psi);
               process.StandardInput.WriteLine(input);
               process.StandardInput.Close();
               process.WaitForExit();
               process.Close();

               MessageBox.Show("Database was successfully restored!", "Notification", MessageBoxButtons.OK, MessageBoxIcon.Information);

          }
}

Любая помощь будет высоко ценится. Спасибо!

1 Ответ

1 голос
/ 18 марта 2013

Заменить psi.FileName = "mysql"; с psi.FileName = "C: /wamp/bin/mysql/mysql5.5.24/bin/mysql.exe";

...