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

Персонализираният CLR на SQL Server се проваля с грешка Не може да се зареди файл или сборка или една от неговите зависимости. Системата не може да намери посочения файл.

Това, което се опитвате да направите, не се поддържа от CLR хоста на SQL Server. CLR в SQL Server е силно ограничен, за да се предотврати дестабилизирането на SQL Server, тъй като работи по различен начин от приложенията, работещи на операционната система. Така че има много ограничен набор от DLL файлове, които се поддържат (т.е. проверени за работа и гарантирани, че ще продължат да работят при актуализации на .NET). WindowsBase не е един от тях, така че ще трябва да го заредите ръчно като UNSAFE в SQL Server. Но това ви оставя или с проблема, с който сте се сблъскали с промяната на версията в основния GAC (DLL файловете, които са общи между GAC и CLR хоста на SQL Server, трябва да са една и съща версия), или по-лошо, ако DLL стане „смесен“ (както неуправляван C++, така и управляван код) и вече не е "чист". В този случай новата версия няма да се зареди и старата версия получава грешката „грешна версия“, така че трябва да свършите малко работа.

За по-подробна информация, моля, вижте следните статии/документация:

Този набор от връзки е взет от раздела „Допълнително четене“ на статия, която написах:Стълба към SQLCLR ниво 5:Разработка (използване на .NET в SQL Server) .

За повече информация относно работата със SQLCLR като цяло, моля, посетете моя сайт:Информация за SQLCLR




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Редът на редовете по подразбиране в заявка SELECT - SQL Server 2008 срещу SQL 2012

  2. Използвайте smo за преименуване на файлове с данни

  3. SQL заявка за получаване на най-новите цени, в зависимост от датата

  4. Параметър на масива TSQL

  5. Изчисляване на часовата разлика в SQL Server