Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

msxml3.dll в контекст sp_OAMethod "изпрати"

Попаднах на този неприятен проблем цял уикенд. Лично аз намирах за ужасно заобиколното решение „замяна на DLL“, така че направих всичко по силите си, за да изляза с по-безопасно решение... За щастие всъщност намерих две от тях.

Разтвор 1

Приложете следната MS HotFix, която коригира проблема завинаги:

(прочетете публикацията за допълнителна информация и за заявка на актуалната корекция по имейл през защитени канали на MS)

Решение 2

Ако не можете да приложите HotFix, все пак можете да свършите работата, като използвате малко по-различен синтаксис, когато издавате командата SEND. Вместо това:

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

направете това:

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

Работи за всеки тип данни за HTTP заявка:JSON , XML и дори application/x-www-form-urlencoded за стандартна POST заявка. Недостатъкът е, че такъв синтаксис е доста грозен... и трябва да промените всичките си съхранени процедури по този начин.

За допълнителна информация относно проблема можете също прочетете тази публикация в моя блог.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Копирайте данни от една колона в друга колона

  2. Съхраняване на формула (уравнения) в база данни за оценка по-късно (SQL Server 2005)

  3. Колко знака във varchar(max)?

  4. Бройте въз основа на условие в SQL Server

  5. Кога да използвате табличния оператор APPLY