使用输出选项从sqlcmd.exe检索sql错误

时间:2015-02-06 11:00:03

标签: c# stored-procedures error-handling sqlcommand sqlcmd

我在一个运行sql命令的Windows服务上运行C#进程。这反过来执行一个sproc来填充csv文件。目前,如果这个sproc错误它将错误输出到csv文件,但我需要能够从我的C#代码中访问此错误并相应地处理它。

public static void RunAndWaitForProgram(string executablePath, string arguments)
    {
        var startInfo = new ProcessStartInfo(executablePath, arguments);

        var processToRun = new Process
        {
            StartInfo = startInfo
        };

        processToRun.Start();
        processToRun.WaitForExit();
    }

(其中executablePath是sqlcmd的路径,参数是我希望运行的命令)

我对sqlcmd完全陌生,由于传统的限制,这个实现是必需的。

我已经研究过使用sqlcmd操作-r(见下文)无济于事,我的最后一招是使用正则表达式扫描csv以在每次sproc运行时发现任何错误。无论如何我可以避免这个吗?

"C:\Program Files\Microsoft SQL Server\100\Tools\Binn\sqlcmd.exe" -S database\content -Q "EXEC sproc @variable = '1'" -o "C:\folderpath\data.csv" -f 65001 -W -X -r1 -s"±" -v Variable="4"

0 个答案:

没有答案