Вопрос

Я пытаюсь использовать библиотеку шифрования Chilkat в SQL Server 2008 через сборку CLR. Из-за того, как библиотека Chilkat собирается вместе (см. Их сообщение ниже), я не могу сделать это напрямую и необходимо создать класс обертки, который ссылается на библиотеку Chilkat, и все же полностью управляется тем, как требуется SQL Server.

Ниже приведен ответ от Chilkat, когда я спросил о том, как напрямую взаимодействовать с SQL Server (короткая версия, которую вы не можете).

Сборка Chilkat .net представляет собой сборку смешанного режима, что означает, что реализация записывается в C ++ и компилируется на собственный код. Внешний слой - это управляемый интерфейс. В прошлом я узнал от других клиентов, что в этой ситуации вы можете решить проблему, создав простую библиотеку классов обертки в Visual Studio (полностью управляемое), где сборка обертки ссылается на сборку Chilkat, а объекты SQL Server вместо этого ссылаются на ваш обертка сборка. Учитывая, что вы, вероятно, вызывает лишь несколько методов Чилкат (и свойств), не должно быть большой работы, чтобы написать несколько методов, чтобы переслать вызов обернутому объекту Chilkat и вернуть результат.

Ok. Итак, вот проблема. Когда я создаю проект CLR в Visual Studio 2008, я совершенно не могу добавить какую -либо ссылку на библиотеку Chilkat (или любой другой в этом отношении). Есть нет Обзор вкладки / кнопка / ссылка или что -то еще, чтобы добавить дополнительную справочную библиотеку. Это просто нет там.

Пожалуйста, помогите, прежде чем я вынужден прибегнуть к Clipper или Dbase3+!

Подробности: SQL Server 2008, Visual Studio 2008, библиотека оценки Chilkat Appor 2011.

Это было полезно?

Решение

SQL Server немного разборчив в отношении того, какие сборки CLR он позволит загрузить, и Visual Studio не позволяет вам добавить любую старую справочную сбору Willy Nilly.

Это потому, что вам нужно загрузить сторонние сборки через Новая сборка Инструмент, найденный в узле «Программируемость» для вашей базы данных (щелкните правой кнопкой мыши на сборках) или с помощью CREATE ASSEMBLY.

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

Этот раздел SQL Books Online охватывает ограничения SQL CLR:

Ограничения модели программирования интеграции CLR

Сборка чиликат потерпит неудачу в Прохладить Тест (описанный в разделе External_access), потому что сборы смешанных режимов содержащий неуправляемые функции не подлежат проверке безопасного кода типа.

Если вы попытаетесь установить неопровержаемую сборку смешанного режима, то вы получите ошибку, например:

Создайте сборку для сборки «Chilkatdotnet2», потому что сборка «chilkatdotnet2» является узором или не является чистой сборкой .NET. Неопроверенный заголовок PE/нативная заглушка. (Microsoft SQL Server, ошибка: 6544)

Eсть обсуждение ветка здесь Это охватывает эту тему, а некоторые предлагают работать вокруг.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top