【问题标题】:xp_cmdshell bat file doesn't actually runxp_cmdshell bat 文件实际上并没有运行
【发布时间】:2017-11-03 22:59:24
【问题描述】:

我可以从 SSMS 正常运行这个 SQL 命令,然后运行 ​​.bat 文件:

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

我把它放到一个存储过程中,在解决了很多权限问题之后,存储过程执行得很好。因此,我知道现在实际上正在执行 xp_cmndshell。

但是,批处理文件实际上并没有运行。所以看起来 SQL Server 正在正确地将命令发送到 Windows,但 Windows 没有运行它。

我需要考虑什么?

【问题讨论】:

  • 是什么让你认为它没有运行?我假设@TrxOid 是一个 T-SQL 变量。事实上,它没有传递 T-SQL 变量值。

标签: sql-server windows xp-cmdshell


【解决方案1】:

这就是问题所在。这是修复它的原因:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-22
    • 2011-10-16
    • 1970-01-01
    • 2019-01-20
    • 2015-08-22
    • 1970-01-01
    • 2014-01-22
    • 1970-01-01
    相关资源
    最近更新 更多