version 1:
---------------
String strRunCommand = "SQLLDR "+p_DbConnection+" data='"+
p_LoadSourcePath+strTxtFileName+
"' control="+strFileType+".ctl log="+strLogFileName+" SKIP=1 ERRORS=10
BINDSIZE=1048576";
System.IO.File.Create(p_LoadDestinationPath+"load_run.bat").Close);
StreamWriter sw = new
StreamWriterp_LoadDestinationPath+"load_run.bat");
sw.WriteLine(strRunCommand);
sw.Close();
System.Diagnostics.Process p = new Process();
p.StartInfo.RedirectStandardOutput=false;
p.StartInfo.FileName = p_LoadDestinationPath+"load_run.bat";
p.StartInfo.UseShellExecute = false;
p.StartInfo.WorkingDirectory = p_LoadDestinationPath;
p.StartInfo.RedirectStandardError = true;
p.Start();
p.WaitForExit();//wait with no time limit
p.Dispose();
---------------
version 2:
---------------
String strRunCommand = "SQLLDR "+p_DbConnection+" data='"+
p_LoadSourcePath+strTxtFileName+
"' control="+strFileType+".ctl log="+strLogFileName+" SKIP=1 ERRORS=10
BINDSIZE=1048576";
System.IO.File.Create(p_LoadDestinationPath+"load_run.bat").Close);
StreamWriter sw = new
StreamWriterp_LoadDestinationPath+"load_run.bat");
sw.WriteLine(strRunCommand);
sw.Close();
System.Diagnostics.ProcessStartInfo psi = new
System.Diagnostics.ProcessStartInfo("cmd.exe");
psi.UseShellExecute = false;
psi.RedirectStandardOutput = true;
psi.RedirectStandardInput = true;
psi.RedirectStandardError = true;
System.Diagnostics.Process proc =
System.Diagnostics.Process.Start(psi);
System.IO.StreamReader strm =
System.IO.File.OpenText(p_LoadDestinationPath+"load_run.bat");
System.IO.StreamReader sOut = proc.StandardOutput;
System.IO.StreamWriter sIn = proc.StandardInput;
while(strm.Peek() != -1)
{
sIn.WriteLine(strm.ReadLine());
}
sIn.WriteLine("EXIT");
proc.Close();
sIn.Close();
sOut.Close();