2011-02-03 17 views
0

もう1つの質問。C#オンラインデータベースの復元

私は、オンラインMySQLデータベースをバックアップして復元する機能を持つC#プロジェクトを持っています。バックアップ機能は十分に機能していますが、復元機能をオンラインで動作させることはできません。それは、しかし、ローカルデータベースのためにうまく動作します。ここで

は、リストア機能のために私のコードです:

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

例外はありますか? –

+0

これはWebアプリケーションコードですか? – Anuraj

答えて

1

psi.FileName = "mysql"; psi.FileName = "C:/wamp/bin/mysql/mysql5.5.24/bin/mysql.exe";