2017-02-20 3 views
0

Я пытаюсь развернуть триггер CLR, который ссылается на внешний .dll-файл, содержащий библиотеку, которую я написал. Сейчас я просто хочу проверить код в локальной базе данных. Я установил локальную базу данных в Trustworthy = True и внешний сборный доступ к моему имени пользователя. Я также добавил ссылку на внешнюю библиотеку я пытаюсь использовать, но когда я вызываю функцию я получаю эту ошибкуОшибка CLR Trigger Deploy

Severity Code Description Project File Line Suppression State 
Error  SQL72014: .Net SqlClient Data Provider: Msg 6503, Level 16, 
State 12, Line 1 Assembly 'googlecalendersync, version=1.0.0.0, 
culture=neutral, publickeytoken=fab9d21c96557bef.' was not found in the SQL 
catalog. Test3 C:\Users\dwd002\Documents\Visual Studio 
2015\Projects\Test3\Test3\bin\Debug\Test3.sql 52 

Любая помощь будет много apreciated. Я знаю прямо сейчас, что это небезопасно, как я это делаю, сейчас это всего лишь доказательство концепции. Есть ли что-то, что я делаю неправильно при создании библиотеки .dll?

+0

Можете ли вы добавить эту сборку в свою базу данных с помощью инструкции 'create assembly'? –

+0

Оказывается, это будет единственное решение, но поскольку проект состоит из 12 или около того, добавление внешних dll будет больно, и Network Admin не хочет менять базу данных на наличие небезопасного кода. Поэтому обходным путем было создание всего кода, который я хотел выполнить в проекте C#, и скомпилировать его в .exe, а затем запустить этот .exe из триггера. Проект C# будет просто подключаться к базе данных извне. –

ответ

2

Я думаю, что вы используете DLL 3 участника в вашем CLr проекте

Во-первых, вам нужно создать сборку из библиотеки DLL третьей стороны

use master 
GO 
CREATE ASYMMETRIC KEY ClrGoogleCalender 
FROM EXECUTABLE FILE='<Your 3rd party dll path>' 
CREATE LOGIN CLRGoogleCalenderLOGIN FROM ASYMMETRIC KEY ClrGoogleCalender 
GRANT UNSAFE ASSEMBLY TO ClrGoogleCalenderLOGIN 
GO 

И тогда Uplaod ваша третья сторона библиотеки DLL в каталог

сервера SQL

[1]: https://i.stack.imgur.com/sBhQZ.png