これは、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.