просто еще один вопрос.
У меня есть проект на 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);
}
}
Любая помощь будет высоко ценится. Спасибо!