вызовите xp_cmdshell с параметром xml - PullRequest
0 голосов
/ 11 января 2011

Было создано консольное приложение, имеющее два параметра: одна - это команда типа «отправить», а вторая - строка XML, такая как "<Messages><msg>My message</msg></Messages>".Консольное приложение вернет что-то вроде: "<Messages><msg>Handled message</msg></Messages>" после выполнения.

Вопрос в том, как вызвать хранимую процедуру упомянутого выше консольного приложения xp_cmdshell с использованием T-SQL.Основная проблема заключается в том, как отправить параметр с XML.Например, упомянутое выше консольное приложение может быть выполнено с этим выражением:

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

Это выражение может быть выполнено без проблем из консоли, но не с xp_cmdshell.В случае xp_cmdshell sql выход сервера вернет:

< was unexpected at this time.

1 Ответ

0 голосов
/ 20 января 2011

Ответ таков:

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