sql >> Databasteknik >  >> RDS >> Sqlserver

msxml3.dll i kontexten sp_OAmethod 'skicka'

Jag snubblade över det här otäcka problemet under en hel helg. Jag tyckte personligen att "ersätt DLL"-lösningen var hemsk, så jag gjorde mitt bästa för att komma ut med en säkrare lösning... Som tur var hittade jag faktiskt två av dem.

Lösning 1

Använd följande MS HotFix, som åtgärdar problemet för gott:

(läs inlägget för mer information och för att begära snabbkorrigeringen via e-post via MS säkra kanaler)

Lösning 2

Om du inte kan tillämpa snabbkorrigeringen kan du fortfarande få jobbet gjort genom att använda en något annan syntax när du utfärdar kommandot SEND. Istället för detta:

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

gör så här:

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

Det fungerar för alla typer av HTTP-begärandata:JSON , XML och till och med application/x-www-form-urlencoded för standard POST-begäran. Nackdelen är att sådan syntax är ganska ful... och du måste ändra alla dina lagrade procedurer på det sättet.

För ytterligare information om problemet kan du också läs detta inlägg på min blogg.



  1. Hur släpper man en tabell om den finns?

  2. Hur man kör SSIS-paketet när en fil anländer till mappen

  3. hur man ställer in mysql datetype längd med sequelize-cli

  4. Hur man återställer MySQL-databas från fysiska filer