4
Я хочу импортировать файл csv в mongodb с помощью mongoimport в C#. Поэтому я реализую этот методКоманда cmd в C#
public bool importCSV(string filepath, string db, string collectionName){
string result="";
try
{
ProcessStartInfo procStart = new ProcessStartInfo("cmd", "C:/MongoDB/Server/3.0/bin/mongoimport -d " + db + " -c " + collectionName + " --type csv --file " + filepath);
procStart.RedirectStandardOutput = true;
procStart.CreateNoWindow = false;
Process proc = new Process();
proc.StartInfo = procStart;
proc.Start();
result += proc.StandardOutput.ReadToEnd();
}
catch(Exception e){
Console.WriteLine(e.ToString());
}
if (!result.Equals("")){
return true;
}
return false;
}
Когда я запускаю команду, я могу импортировать файл в MongoDB. Но с помощью C# метод возвращает false.
Может ли кто-нибудь помочь мне решить эту проблему?
РЕШЕНИЕ !!!
public bool importCsv(string filepath, string collectionName){
string result ="";
try
{
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = @"C:/MongoDB/Server/3.0/bin/mongoimport.exe";
startInfo.Arguments = @" -d test -c " + collectionName + " --type csv --file " + filepath + " --headerline";
Process proc = new Process();
proc.StartInfo = startInfo;
proc.Start();
result += "ddd";
}
catch(Exception e)
{
Console.WriteLine(e.ToString());
}
if (!result.Equals(""))
{
return true;
}
return false;
}
Пробовали ли вы вызова 'proc.WaitForExit()' после 'proc.Start()'? – ANewGuyInTown
@ANewGuyInTown, я попробовал, но результат не изменился. – trallallalloo
извините, изначально я имел в виду 'proc.WaitForExit()' после 'proc.StandardOutput.ReadToEnd();' – ANewGuyInTown