2016-11-09 2 views
2

引数を渡すないときに私はdocumentationから続くとして、その最も基本的な形式でインポート・コマンドは次のとおりです。MySQLのインポートコマンドは作業が、直接

mysql.exe < example.sql 

私は、コマンドから実行するときに機能しますWindowsのライン。しかし、私が< example.sqlパラメータでプロセスmysql.exeを開始したときに動作しません。たとえば、ショートカットを作成し、そのパスをmysql.exe < example.sqlに設定しても機能しません。また、mysql.exeのヘルプ情報のみが出力されます。

次のC#のコードを実行しようとすると、注意点として、私が最初にこの問題に気づい:

new Process 
     { 
      StartInfo = new ProcessStartInfo 
      { 
       FileName = "mysql.exe", 
       Arguments = "< example.sql", 
      } 
     }.Start(); 
+0

+0

を持つこのmysql.exeは、mysql.exeのパラメータではありませんが、 '<'はリダイレクション演算子を意味します。したがって、ファイル ' example.sql'は 'mysql.exe'にリダイレクトされます。私はファイル名を 'cmd.exe'に、そして'/C 'の引数をmysql.exe aschipfl

+0

@aschipfl mysql.exeにパラメータとしてsqlファイルを渡す方法を知っていますか?また、あなたのコメントを答えに変えることもできます。それは私の質問に答える。 –

答えて

2

一部< example.sqlmysql.exeのパラメータをcontituteしません。 <文字はredirection演算子を示します。したがって、ファイルexample.sqlの内容はmysql.exeにリダイレクトされます。

ファイル名をcmd.exeに、引数を/C "mysql.exe < example.sql"に変更する必要があると思います。すべてのファイルへの完全絶対パスを指定することを検討してください。

0

私は窓では動作しませんが、私はあなたが最良のフルパス+データベースのホスト名を記入仮定情報:

C:\mysql\directory\bin\mysql -h {hostname} -u {username} -p {databasename} < example.sql 
+0

...そして 'example.sql'への完全なパス。空白やその他の特殊文字の問題を避けるために引用された各パス... – aschipfl

関連する問題