Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

msxml3.dll w kontekście sp_OAMethod „wyślij”

Natknąłem się na ten paskudny problem przez cały weekend. Osobiście uważam, że obejście „zastąp DLL” jest okropne, więc zrobiłem co w mojej mocy, aby znaleźć bezpieczniejsze rozwiązanie… Na szczęście znalazłem dwa z nich.

Rozwiązanie 1

Zastosuj następującą poprawkę MS HotFix, która na dobre rozwiązuje problem:

(przeczytaj post, aby uzyskać więcej informacji i poprosić o poprawkę przez e-mail za pośrednictwem bezpiecznych kanałów MS)

Rozwiązanie 2

Jeśli nie możesz zastosować poprawki, nadal możesz wykonać zadanie, używając nieco innej składni podczas wydawania polecenia SEND. Zamiast tego:

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

zrób to:

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

Działa dla każdego typu danych żądania HTTP:JSON , XML a nawet application/x-www-form-urlencoded dla standardowego żądania POST. Minusem jest to, że taka składnia jest dość brzydka... i musisz w ten sposób zmienić wszystkie swoje procedury składowane.

Aby uzyskać dodatkowe informacje dotyczące problemu, możesz również przeczytaj ten post na moim blogu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Invoke-Sqlcmd :Wystąpił błąd związany z siecią lub specyficzny dla wystąpienia podczas nawiązywania połączenia z programem SQL Server

  2. Lista ciągów w SqlCommand poprzez Parametry w C#

  3. Okres limitu czasu semafora

  4. Konfigurowanie i konfigurowanie zawsze włączonej grupy dostępności w SQL Server

  5. Jak połączyć te dwie rzeczy razem? Varchar guid i guid wpisują oba klucze podstawowe