Я создал некоторую библиотеку и хочу использовать ее как сборку CLR в MSSQL. Дело в том, что в моей библиотеке есть ссылка на «iAnywhere.Data.SQLAnywhere», которую я не могу установить. Ошибка:Не удается установить сборку на SQL Server 2008
Ассамблея не может быть установлен «iAnywhere.Data.SQLAnywhere», потому что существующая политики будет держать его от использования.
Я выполнил рекомендации и теперь мой SQL выглядит следующим образом:
USE DB_Control
GO
ALTER DATABASE DB_Control SET TRUSTWORTHY ON WITH ROLLBACK IMMEDIATE
GO
ALTER DATABASE DB_Control SET TRUSTWORTHY ON
GO
exec sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
exec sp_configure 'clr enabled', 1;
GO
RECONFIGURE;
GO
CREATE ASSEMBLY [iAnywhere.Data.SQLAnywhere]
AUTHORIZATION sa
FROM '~\Debug\iAnywhere.Data.SQLAnywhere.dll'
WITH PERMISSION_SET = UNSAFE
GO
CREATE ASSEMBLY ClrSqlMediator
AUTHORIZATION sa
FROM '~\Debug\SQLMediator.dll'
WITH PERMISSION_SET = UNSAFE
GO
Кто-нибудь знает, как это исправить?
Upd: версия Сервер SQL Server 2008 R2 (x64). My MediatorCLR построен как x64 lib, но я почти shure SQLAnywhere.dll построен как x86. Это может быть причина?
UPD2: Вот Dropbox ссылку на LIBS: x64 - https, x86 - https.
Upd3: я начинаю думать, что SQLAnywhere.dll не может быть загружен на все из-за опциями сборки x86, и я не уверен, что у него есть публичные статические методы, которые требуются. Разумеется, я должен был реализовать какую-то другую ссылку.
Неверная версия .NET? http://stackoverflow.com/questions/2781624/sqlclr-using-the-wrong-version-of-the-net-framework –
nope, 2.0 обе библиотеки –
Какая версия SQL Server? –