Не удалось загрузить файл или сборку ... или одну из ее зависимостей.Исключение из HRESULT: 0x80FC3C2C - PullRequest
1 голос
/ 24 марта 2011

Исключительное сообщение: не удалось загрузить файл или сборку System.DirectoryServices или одну из ее зависимостей.Исключение из HRESULT: 0x80FC3C2C

Исключение, вызванное процедурой CLR SQL.Возникло исключение из метода в сборке, где инициализируется один из классов из System.DirectoryServices и эта сборка используется сборкой с процедурой CLR.

Среда:

  1. MS SQLServer 2005 Std.
  2. .NET framework 2.0
  3. В базе данных, в которой создается сборка, для параметра TRUSTWORTHY установлено значение ON
  4. Сборка создана с PERMISSION_SET = UNSAFE

Ответы [ 3 ]

0 голосов
/ 25 марта 2011

Я думаю, что сборка System.DirectoryServices просто не поддерживается внутри SQL Server. SQL Server допускает использование только очень определенного (жестко закодированного) списка сборок ( SQL Server 2005 , SQL Server 2008 ), чтобы не подвергать опасности его стабильность.

Сказав это, кажется, что в любом случае есть способ достичь этого, см. вопрос / ответ (еще не пробовал).

0 голосов
/ 06 апреля 2011

Наконец я нашел обходной путь.Я добавил ссылку на System.DirectoryServices в сборку, связанную с MS SQL, и в коде процедуры CLR создаю класс из этого пространства имен.Итак, сборка System.DirectoryServices стала видимой из класса, в котором размещен основной код для DS.

0 голосов
/ 24 марта 2011

Помните, что этот ответ взят из моих заметок из учебного класса ... Вы должны установить для PERMISSION_SET значение EXTERNAL_ACCESS, чтобы получить доступ к файловой системе сервера или к другому серверу.Это имеет смысл, поскольку вы используете System.DirectoryServices для доступа к другому серверу (контроллеру домена).

...