2017-11-03 68 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