我创建了一个控制台应用程序,现在我想从SQL Server执行这个.exe
文件。运行此查询只会获得null
输出。请帮帮我。
DECLARE @CMDSQL VARCHAR(1000),
@Reportname VARCHAR(100),
@TerminalCode VARCHAR(10),
@FinYear VARCHAR(10)
SET @Reportname =('05 - Import Load Delivery')
SET @FinYear='2017-18'
SET @TerminalCode='BOM'
SET @CMDSQL = '"D:\ExportToExcel.exe" ' + @Reportname + ' ' + @TerminalCode + ' ' + @FinYear
--print @CMDSQL
Exec master..xp_cmdshell @CMDSQL
答案 0 :(得分:3)
试试这个:
SET @CMDSQL = 'CMD /S /C " "D:\ExportToExcel.exe" "' + @ReportName + '" "' + @TerminalCode + '" "' + @FinYear + '" "'
引用@DanGuzman建议的各个参数非常重要。
答案 1 :(得分:0)
此帖子没有答案。我发现在双引号中包含您的ENTIRE语句是可行的。因此,您最终使用嵌套的双引号。
所以在您的示例中:
SET @CMDSQL = 'CMD /S /C " ""D:\ExportToExcel.exe" "' + @ReportName + '" "' + @TerminalCode + '" "' + @FinYear + '" ""'
或者在我试图找出的地方:
EXEC xp_cmdshell '""C:\XML\ExecURL.exe" "http://devserver/app/retreiveshippinglabels/RGAGetLabels?RMA_NO=171269""';