0

これは、2つのパラメータを持つコンソールアプリケーションを作成しました。1つは「send」のようなコマンドで、もう1つは。のようなxml文字列です"<Messages><msg>My message</msg></Messages>"。コンソールアプリケーションは"<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.
4

1 に答える 1

0

答えはそのスクリプトです:

EXEC master.dbo.xp_cmdshell '""D:\ConsoleTest.exe" "<Messages><msg>My message</msg></Messages>""'
于 2011-01-19T22:49:32.720 に答える