Ошибка с добавлением DLL в SQL Server 2014. Проблемы с CLR - PullRequest
0 голосов
/ 15 октября 2018

У меня проблема с добавлением dll сборки в SQL Server 2014. Я пытаюсь создать хранимую процедуру сборки следующим образом:

CREATE ASSEMBLY pdf_create FROM 'dll path\test.dll' WITH PERMISSION_SET = SAFE

SQL Server возвращает эту ошибку:

Assembly 'проверить сборку ссылок system.drawing, версия = 2.0.0.0, culture = нейтральный, publickeytoken = b03f5f7f11d50a3a. ', которого нет в текущей базе данных.SQL Server попытался найти и автоматически загрузить ссылочную сборку из того же места, откуда пришла ссылающаяся сборка, но эта операция завершилась неудачно (причина 2 (Не удается найти указанный файл.)).Загрузите ссылочную сборку в текущую базу данных и повторите запрос.

Помогите, пожалуйста, если у вас есть идеи

1 Ответ

0 голосов
/ 15 октября 2018

Итак, вопрос в том, зачем вам нужна зависимость от system.drawing.dll в сборке SQLCLR?Я бы посмотрел код для test.dll и попытался бы избавиться от этой конкретной зависимости.

Что вы можете сделать, если вам абсолютно необходимо включить system.drawing.dll, это скопировать и поместить егов той же директории, где находится dll, из которой вы пытаетесь создать сборку, поскольку SQL Server автоматически создает сборки из зависимых сборок, если они находятся по одному и тому же пути.

Однако, если вы это сделаете, вам, вероятно, потребуетсяизмените набор разрешений для сборки, которую вы создаете, поскольку (если я правильно помню) system.drawing.dll требуется меньший набор разрешений, чем SAFE.

Так что, в общем, попытайтесь избавиться от зависимости, вы сохранитеС этим у вас много проблем.

...