2017-02-17 122 views
0

我想通过C#应用程序使用BCP执行批量复制。这是我需要执行命令:如何解决使用BCP时“系统找不到指定的文件”异常

var bcpArgs = "EXEC spReportExecutor @Query = 'SELECT * FROM ExpAifaBrosureCommTape', @Parameters = '<Parameters> <DBToUse>sql_converted_absaDR</DBToUse></Parameters>'" queryout "C:\MISAutomationReports\BCP\AifaBrosureCommissionTape.dat" -e"C:\MISAutomationReports\BCP\AifaBrosureCommissionError.txt" -T -c -S [myserver] -d [mydatabase]

我执行命令如下: System.Diagnostics.Process.Start("bcp.exe", bcpArgs);

这工作我的本地机器上很好,但是当部署到我们的开发/生产服务器,我得到一个“系统找不到指定的文件”异常。但是,如果我直接在命令行中运行bcpArgs,则该过程是成功的。

我错过了什么?

回答

0

您必须指定的bcp.exe的路径,而不是:

System.Diagnostics.Process.Start("bcp.exe", bcpArgs) 

尝试:

System.Diagnostics.Process.Start("path\bcp.exe", bcpArgs) 
+0

而且,正如你的答案是我确实做到了!但为什么它会在我的本地机器上工作(没有指定bcp路径)? –

+0

我相信因为c#应用程序和bcp工具驻留在本地计算机上的同一文件夹中 – apomene

相关问题