2017-11-03 69 views
0

我可以运行该SQL命令从SSMS蛮好的,.bat文件运行:xp_cmdshell的bat文件并没有真正运行

EXECUTE xp_cmdshell 'C:\ReportPrinting\KarlTest\test.bat @TrxOid' 

我把它变成一个存储过程,让过去很多后的权限问题,存储过程执行得很好。因此,我知道xp_cmndshell现在正在执行。

但是,该批处理文件实际上并未运行。因此,看起来SQL Server正确地将命令发送到Windows,但Windows不会运行它。

我需要考虑什么?

+1

是什么让你觉得它没有运行?我假设'@ TrxOid'应该是一个T-SQL变量。事实上,它并没有传递T-SQL变量值。 –

回答

0

这是问题所在。这是什么修复它:

select @message = 'C:\LabelPrinting\ReportPrinting\Parts\PostSubmitAdjustment.bat '+ cast(@TrxOid as nvarchar(100)) 
     EXECUTE xp_cmdshell @message