我有一个SSRS报告使用的存储过程。
但是我需要在运行查询之前运行它:
sys.xp_cmdshell @sqlCmd;
问题是首先运行它会返回OUTPUT单元格。这会抛弃报告,因为它期待正确的查询,而不仅仅是" OUTPUT"
如何省略此OUTPUT SELECT?我试图添加" NO_OUTPUT"但它仍然无效:
SET @sqlCmd = '"C:\Program Files (x86)\ImageConverter\ImageConverter.exe", NO_OUTPUT';
答案 0 :(得分:1)
看起来您使用no_output子句调用的语法可能是个问题。虽然MSDN docs show that syntax in one of the examples,MSDN列出的语法以及this TechNet article表明它作为文字的第二个参数传递给没有引号的xp_cmdshell过程,即:
SET @sqlCmd = '"C:\Program Files (x86)\ImageConverter\ImageConverter.exe"'
exec master..xp_cmdshell @sqlCmd, NO_OUTPUT;