0

我有一个 SSRS 报告使用的存储过程。

但我需要在运行查询之前运行它:

sys.xp_cmdshell @sqlCmd;

问题是首先运行它会返回 OUTPUT 单元格。这会抛出报告,因为它期待正确的查询,而不仅仅是“输出”

我该如何去省略这个输出选择?我试图添加“NO_OUTPUT”,但它仍然不起作用:

SET @sqlCmd = '"C:\Program Files (x86)\ImageConverter\ImageConverter.exe", NO_OUTPUT';
4

1 回答 1

2

看起来您使用 no_output 子句调用的语法可能是问题所在。尽管MSDN 文档在其中一个示例中显示了该语法,但 MSDN 列出的语法以及这篇 TechNet 文章建议它作为文字第二个参数传递给 xp_cmdshell 过程,不带引号,即:

SET @sqlCmd = '"C:\Program Files (x86)\ImageConverter\ImageConverter.exe"'
exec master..xp_cmdshell @sqlCmd, NO_OUTPUT;
于 2015-04-23T03:04:05.707 回答