2017-02-27 9 views
0

SQL構文にエラーがあります。 「ソースD://sqldatabase.sql」近くを使用する権利構文についてはあなたにMySQLサーバのバージョンに対応マニュアルをご確認ラインで1SQLコンソールでテストしたときに、コマンドテキストが正しく表示されても、コマンドテキストにエラーが発生しました

MySqlCommand comm = conn.CreateCommand(); 
comm.CommandText = "source D://sqldatabase.sql"; 
try { 
    conn.Open(); 
    comm.ExecuteNonQuery(); 
    conn.Close(); 
} catch (MySqlException a) { 
    MessageBox.Show(a.Message); 
} 
+0

あなたが問題を解決しようとしたことを説明してください。 –

+0

彼は何をしようとしていたとしても、そのように修正する方法はありません – Psi

答えて

2

「ソースは、」mysqlコマンドラインのコマンドでありますツールによって認識され、サーバーによってまったく認識されません。

したがって、mysql.exe(コマンドラインクライアント)を使用する場合、mysql-serverは何をするべきかを知っています。

そして、C#もわかりません。ファイルをプログラムに読み込んで、そこにあるコマンドを手動で実行する必要があります。

別の方法プログラムからmysql.exeを実行することですコメントで言ったように:コマンドラインでパスワードを使用して

  1. が安全でないことがあります

    using System.Diagnostics; 
    
    Process mysql = new Process(); 
    
    ProcessStartInfo psi = new ProcessStartInfo(); 
    psi.FileName = "Path\\To\\mysql.exe"; 
    psi.Arguments = " -u[username] -p[password] [database] < D:\\sqldatabase.sql"; 
    psi.UseShellExecute = false; 
    
    P.StartInfo = psi; 
    P.Start(); 
    

    があることに注意してください

  2. -pとパスワードの間に空白はありません(重要!)

+0

技術的には、いくつかのC#コードでmysql.exeコマンドを実行することができます。 – DavidG

+0

正解、それについては考えなかった。 – Psi

+0

私は、非常にありがとうございます。 –

関連する問題