【问题标题】:call xp_cmdshell with xml parameter使用 xml 参数调用 xp_cmdshell
【发布时间】:2011-01-10 23:18:22
【问题描述】:

创建的控制台应用程序有两个参数:一个是像“send”这样的命令,第二个是像"<Messages><msg>My message</msg></Messages>" 这样的xml 字符串。控制台应用程序将在执行后返回类似:"<Messages><msg>Handled message</msg></Messages>"

问题是如何使用 T-SQL 调用上述控制台应用程序中提到的存储过程 xp_cmdshell。主要问题是如何使用 xml 发送参数。比如上面提到的控制台应用,就可以用这个表达式来执行:

"c:\consoleapp.exe" send "<Messages><msg>My message</msg></Messages>"

这个表达式可以从控制台毫无问题地执行,但不能使用 xp_cmdshell。 在 xp_cmdshell sql server outut 的情况下会返回:

< was unexpected at this time.

【问题讨论】:

  • 尝试双引号 ("") XML。
  • 感谢您的回复,但这对我没有帮助

标签: xml xp-cmdshell


【解决方案1】:

答案就是那个脚本:

EXEC master.dbo.xp_cmdshell '""D:\ConsoleTest.exe" "<Messages><msg>My message</msg></Messages>""'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-17
    相关资源
    最近更新 更多