C# 如何在c中运行命令SQLLoader Oracle#

C# 如何在c中运行命令SQLLoader Oracle#,c#,C#,如何在c#中运行命令SQLLoader Oracle。我尝试使用sourcode来运行这个SQLLoader,但什么也没有发生,错误是“没有进程与这个对象关联”。请告诉我如何修理它。谢谢 这是我的代码: System.Diagnostics.Process process1; process1 = new System.Diagnostics.Process(); process1.EnableRaisingEvents = false;

如何在c#中运行命令SQLLoader Oracle。我尝试使用sourcode来运行这个SQLLoader,但什么也没有发生,错误是“没有进程与这个对象关联”。请告诉我如何修理它。谢谢 这是我的代码:

        System.Diagnostics.Process process1;
        process1 = new System.Diagnostics.Process();
        process1.EnableRaisingEvents = false;

        string strCmdLine;
        strCmdLine = @"/C SQLLDR XL/secreat@O11G CONTROL=E:\APT\LoadXL.ctl";
        System.Diagnostics.Process.Start("CMD.exe", strCmdLine);
        process1.WaitForExit();
        process1.Close();

您必须使用变量
process1
启动流程,如下所示:

process1.StartInfo.Arguments = strCmdLine;
process1.StartInfo.FileName = "CMD.exe";
process1.Start();
这对我有用

var p = new Process()
{
    StartInfo = new ProcessStartInfo("sqlldr")
    {
        UseShellExecute = false,
        WorkingDirectory = opts.WorkingDirectory,
        Arguments = "control="control.ctl" userid=usr/pass@XE log="data.csv.log" data="data.csv" bad="data.csv.bad"
     }
};
p.Start();

谢谢你的回答,但是当我把上面的脚本放到我的代码中时,没有发生,进程SQLLoader也没有运行。我建议你把命令行放到一个批处理文件中,在末尾放一个
pause
命令,然后启动该批处理文件。这样,您就可以检查输出中是否有任何错误消息。谢谢您的建议,但我是用c#编写的。为什么我要用ipconfig运行替换该命令。无法在c中运行进程SQLLOader,我的建议是从c启动批处理文件。我想,它很简单,找不到“sqlldr”。我也面临着类似的问题。我必须在cmd文件中编写de命令,然后:
process1.StartInfo.FileName=“file.cmd”