Почему я не могу зарегистрировать System.Web в SQL Server 2008? - PullRequest
5 голосов
/ 04 ноября 2010

Выполнение этой команды:

CREATE ASSEMBLY 
[System.Web] from
'C:\Windows\Microsoft.NET\Framework\v2.0.50727\system.web.dll'
with permission_set = UNSAFE

Дает мне эту ошибку:

Сообщение 10300, Уровень 16, Состояние 2, Строка 1

Сборка 'System.Web' ссылается на сборку 'system.web, версия = 2.0.0.0, культура = нейтральная, publickeytoken = b03f5f7f11d50a3a.', Которой нет в текущей базе данных. SQL Server попытался найти и автоматически загрузить указанную сборку из того же места, откуда пришла ссылающаяся сборка, но эта операция завершилась неудачно (причина: несовпадение версии, языка или открытого ключа). Загрузите указанную сборку в текущую базу данных и повторите ваш запрос.

... это звучит немного глупо. Кажется, что SQL Server думает, что сборка System.Web ссылается на себя. Как я могу это исправить?

Ответы [ 3 ]

7 голосов
/ 25 октября 2012

Попробуйте использовать сборки Framework64 (64-битный сервер SQL 2008)

СОЗДАТЬ СБОРКУ

[System.Web] из

'C: \ Windows \ Microsoft.NET \Framework64 \ v2.0.50727 \ System.Web.dll 'с разрешением_установки = UNSAFE

GO

0 голосов
/ 11 октября 2011

Оказывается, System.web.dll не поддерживается для этого.Фактически оказалось, что загрузка DLL в SQL Server, подобная этой (для CLR), была плохой идеей на многих уровнях (одним из которых была 64/32-битная поддержка между развертываниями).

0 голосов
/ 22 августа 2011

Похоже, вам нужно установить .Net 2.0 framework на сервер базы данных.

Кроме того, я бы не стал добавлять ссылку на System.Web.dll напрямую.Ваш другой пользовательский код CLR должен ссылаться на это.(Или, если у вас нет специального кода .Net, вы должны создать собственный проект .Net для взаимодействия с сборкой System.Web.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...