Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> calling SQLLDR from C# (ASP.NET)

calling SQLLDR from C# (ASP.NET)

From: <nkunkov_at_optonline.net>
Date: 2 Sep 2005 06:29:01 -0700
Message-ID: <1125667741.026395.250130@g43g2000cwa.googlegroups.com>


Hi, I'm trying to call SQLLDR from ASP.NET (C#) to load data from a text file into a table.
I'm not a windows/microsoft person so if you could give me a hint I'd appreciate it. I have tried a few ways to call sqlldr but it looks like the line with sqlldr command is just not being executed... There are no errors...
I was told that it very well might be a permissions issue but I'm not sure where to look.
I can execute my bat file from a command line with no problems and it works fine. Only from C# it doesn't work Here are my code samples:
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();


Received on Fri Sep 02 2005 - 08:29:01 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US