2011-08-10 5 views
1

私のC#アプリケーションのボタンklickでmysqldumpを実行したい。私は、このコマンドを使用します(そして、それが働いている)コマンドプロンプト上C#アプリケーションからmysqldumpを実行しない

  mysqldump -u root --password=pwd mydb > exportfile.sql 

このコマンドは、私のC#のアプリでは動作しません。 は、私はこのコードを使用します

  ProcessStartInfo p = new ProcessStartInfo(@"mysqldump", "-u root --password=pwd mydb > exportfile.sql");     
      Process.Start(p); 

をしかし、MySQLはエラーメッセージを表示して終了します。 は「テーブルを見つけることができませんでした 『>』?

任意のアイデアを

答えて

3

『>』というDOSコマンドです。ファイルにプログラムの出力をリダイレクトする

をあなたはProcess.Startでそれを使用することはできません - ちょうどあなたが実行しているプログラムのためのパラメータであると考えられて

プロセスの出力をキャプチャする場合は、stdoutを自分でリダイレクトする必要があります。 Process.StandardOutputを参照してください。この出力ストリームを読み込んでファイルに書き込む必要があります。

2

おそらく、ホストされたプロセス内で出力をリダイレクトすることはサポートされていません。その場合は、redirect the standard outputと書いて、自分でファイルを書くことができます。

関連する問題