2016-04-07 6 views
0

I定期的に使用するコマンド使用mongodb_nameは、C#のプロセスでは動作しません

使用some_mongodb

あなたがしたいときには、このコマンドが動作しないようであること

Windows上でコマンドプロンプトから新しいデータベースを作成するにはC#の過程でこれを実行

私は、次のコードは、C#

ProcessStartInfo startInfo = new ProcessStartInfo 
{ 
    UseShellExecute = false, 
    RedirectStandardOutput = true, 
    RedirectStandardError = true, 
    RedirectStandardInput = true, 
    WorkingDirectory = _mongoBinDir, 
    FileName = "mongo.exe", 
    Arguments = "use " + databaseTxt.Text 
}; 

_mongoInsertProcess = new Process 
{ 
    StartInfo = startInfo 
}; 

_mongoInsertProcess.Start(); 

string stderrStr = _mongoInsertProcess.StandardError.ReadToEnd(); 
string stdoutStr = _mongoInsertProcess.StandardOutput.ReadToEnd(); 
からのmongoデータベースを作成しようとしてい

stdoutStr変数GET値

「MongoDBのシェルバージョン:3.2.1への接続:使用 2016-04-07T15:28:52.875 + 0200 E - [メイン] [some_db]」doesnのファイルt が読み込みに失敗しました:some_db "

これにご相談ください。

答えて

1

use some_dbは有効な引数ではありません。データベースの名前を渡すだけです。つまり、

ProcessStartInfo startInfo = new ProcessStartInfo 
{ 
    UseShellExecute = false, 
    RedirectStandardOutput = true, 
    RedirectStandardError = true, 
    RedirectStandardInput = true, 
    WorkingDirectory = _mongoBinDir, 
    FileName = "mongo.exe", 
    Arguments = databaseTxt.Text 
};