Добавление библиотеки iTextSharp для использования с хранимыми процедурами CLR - PullRequest
1 голос
/ 09 августа 2010

Кому-нибудь повезло с созданием сборки для iTextSharp для использования с хранимыми процедурами CLR?Я пытался весь день и не смог получить никаких результатов.Студия управления SQL говорит, что мне нужно сначала зарегистрировать system.drawing (не может быть новой версией, не должна быть старой версией), но у меня возникают проблемы, когда я пытаюсь запустить ее создание безопасно и небезопасно.*

Так что мне просто интересно, кому-нибудь повезло с настройкой iTextSharp для работы через CLR SPROCS?Причина, по которой я хочу это сделать, заключается в том, что тогда я смогу намного легче передавать параметры и генерировать отчеты (CLR SPROC содержит стандартные статические элементы, в то время как параметры могут контролировать динамические параметры)*

Ответы [ 2 ]

1 голос
/ 26 октября 2016

Вам не нужно System.Windows.Forms.dll , как предлагает другой ответ.
Просто добавьте эти 2 ссылки в ваш проект Visual Studio:

  1. System.Drawing.dll
  2. itextsharp.dll

Убедитесь, что обе эти библиотеки DLL указаны вашим проектом.
Затем в свойствах этих двух ссылочных DLL установите для свойства " Model Aware " значение " True "
Что-то в этом едва документированном свойстве автоматически развернет вашу ссылочную сборку.
enter image description here

Перестройте свой проект (, убедитесь, что сделали это, или вы можете увидеть ошибку ) и попробуйте Deploying.
Он должен автоматически добавить эти 2 ссылки в виде сборок в базу данных SQL.
После добавления он, по крайней мере, достаточно умен, чтобы не удалять и не добавлять их снова при последующих повторных развертываниях.

ПРИМЕЧАНИЕ. После этого происходит сбой каждый раз, когда я пытаюсь развернуть свой проект.
Я не знаю, почему это так, но я готов с этим смириться (я использую VS2013).


ВНИМАНИЕ: я столкнулся с этой ужасной ошибкой:

Ошибка ALTER ASSEMBLY, потому что ссылочные сборки будут изменены. Список сборок, на который делается ссылка, должен оставаться прежним.

Если это произойдет, вам нужно отбросить всю сборку, потому что что-то в развертывании заставляет часть сборки оставаться нетронутой и не обновляет внешние ссылки, а вместо этого выдает эту загадочную / неиспользуемую ошибку вместо этого.

В итоге я отбросил все зависимости и Сборка в моем PreDeployScript.sql . Таким образом я избегаю проблем на любом Сервере, на котором я разверну свою сборку SQL (или когда я добавляю новые ссылки).

1 голос
/ 25 октября 2010

Зарегистрируйте эти сборки на сервере:

CREATE ASSEMBLY [System.Drawing] FROM
  'C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Drawing.dll'
  WITH PERMISSION_SET = UNSAFE

CREATE ASSEMBLY [System.Windows.Forms] FROM
  'C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Windows.Forms.dll'
  WITH PERMISSION_SET = UNSAFE

CREATE ASSEMBLY [itextsharp] FROM
  'C:\MY_CLR\itextsharp.dll'
  WITH PERMISSION_SET = UNSAFE

Затем вы можете найти ссылку на itextsharp в диалоговом окне Добавить ссылку (вкладка SQL Server)

Это работает (VS2010, C #, SQLServer2005,itextsharp5.0)

...