Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

msxml3.dll nel contesto sp_OAMethod 'invia'

Mi sono imbattuto in questo brutto problema per un intero fine settimana. Personalmente ho trovato orribile la soluzione "sostituisci DLL", quindi ho fatto del mio meglio per trovare una soluzione più sicura... Per fortuna, ne ho trovati due.

Soluzione 1

Applica il seguente MS HotFix, che risolve definitivamente il problema:

(leggi il post per maggiori info e per richiedere l'hotfix via e-mail attraverso i canali sicuri di MS)

Soluzione 2

Se non riesci ad applicare HotFix, puoi comunque portare a termine il lavoro utilizzando una sintassi leggermente diversa quando emetti il ​​comando SEND. Invece di questo:

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

fai questo:

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

Funziona con qualsiasi tipo di dati di richiesta HTTP:JSON , XML e persino application/x-www-form-urlencoded per richiesta POST standard. Lo svantaggio è che tale sintassi è piuttosto brutta... e devi cambiare tutte le tue stored procedure in questo modo.

Per ulteriori informazioni sul problema puoi anche leggi questo post sul mio blog.