Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

msxml3.dll im Kontext sp_OAMethod 'send'

Ich stolperte über dieses unangenehme Problem für ein ganzes Wochenende. Ich persönlich fand die Problemumgehung "DLL ersetzen" schrecklich, also habe ich mein Bestes getan, um eine sicherere Lösung herauszubringen ... Zum Glück habe ich tatsächlich zwei davon gefunden.

Lösung 1

Wenden Sie den folgenden MS HotFix an, der das Problem endgültig behebt:

(Lesen Sie den Beitrag für weitere Informationen und um den Hotfix per E-Mail über sichere MS-Kanäle anzufordern)

Lösung 2

Wenn Sie den HotFix nicht anwenden können, können Sie die Aufgabe dennoch erledigen, indem Sie beim Absetzen des SEND-Befehls eine etwas andere Syntax verwenden. Statt dessen:

Exec @ErrCode=sp_OAMethod @Object, 'send',null,'your-data';

tun Sie dies:

Exec @ErrCode=sp_OAMethod @Object, 'send("your-data")';

Es funktioniert für jede Art von HTTP-Anforderungsdaten:JSON , XML und sogar application/x-www-form-urlencoded für Standard-POST-Anfrage. Der Nachteil ist, dass eine solche Syntax ziemlich hässlich ist ... und Sie müssen alle Ihre gespeicherten Prozeduren auf diese Weise ändern.

Weitere Informationen zu diesem Problem finden Sie auch unter Diesen Beitrag lesen auf meinem Blog.