您的位置:首页 > 数据库 > Oracle

calling SQLLDR from C# (ASP.NET) - Oracle Server

2010-06-14 10:07 477 查看
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();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  asp.net oracle server c#