2015-04-23 12 views
0

我有一个由SSRS报告使用的存储过程。如何不从存储过程中的命令外壳脚本中选择OUTPUT值?

但我需要运行此之前,我运行查询:

sys.xp_cmdshell @sqlCmd; 

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

我该如何去省略这个OUTPUT SELECT?我尝试添加“NO_OUTPUT”,但它仍然无法正常工作:

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

回答

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; 
+0

这是它。谢谢! –