SQL中的EXECUTE xp_cmdshell不执行批处理文件

时间:2017-11-10 21:36:20

标签: sql batch-file reporting-services permissions xp-cmdshell

我在SQL存储过程中使用EXECUTE xp_cmdshell来调用批处理文件。除一个命令外,批处理文件中的所有命令都会执行。

Reporting Services命令rs.exe不会执行。

xp_cmdshell有一个代理帐户,该命令从我的存储过程运行得很好:

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

EXECUTE xp_cmdshell @message

以上作品。

问题在于它调用的批处理文件,它包含在此问题的底部。

除rs.exe外,执行.bat文件中的所有命令。

但是当我从SQL服务器调用相同的批处理文件时,使用代理帐户,批处理中的所有命令都正确执行,包括rs.exe

批处理文件:

@rem - Capture the call to this file for diagnostics and logging. 
echo %1 > \\servername\LabelPrinting\ReportPrinting\logs\DataPassLogAdjust.txt 


@rem - Calls the rs.exe utility, passing in the TrxOid to generate the Packing slip as a PDF then save the PDF as the TrxOid in the PackingSlip folder.

call \\servername\LabelPrinting\ReportPrinting\Parts\rs.exe -i \\servername\LabelPrinting\ReportPrinting\Parts\PackingSlipAdjustment.rss -s http://WEBSITE-02/reportserver -v Oid=%1 -v PDFName=\\servername\LabelPrinting\ReportPrinting\PackingSlips\%1_PackingSlip.PDF -e Exec2005 > \\servername\LabelPrinting\ReportPrinting\logs\RenderLogAdjust.txt 


call whoami > \\servername\LabelPrinting\ReportPrinting\logs\UserLogAdjust.txt


@rem - Calls the Command Line Printing application to print the PackingSlip pdf to the printer defined in the ReportPrinter setting on the PanatrackerGP portal

call \\servername\LabelPrinting\ReportPrinting\Parts\clprint.exe /print /printer:P01 /pdffile:"\\servername\LabelPrinting\ReportPrinting\PackingSlips\%1_PackingSlip.PDF" > \\servername\LabelPrinting\ReportPrinting\logs\PrintLogAdjust.txt

0 个答案:

没有答案