CLR 触发器部署错误
CLR Trigger Deploy Error
我正在尝试部署一个链接到包含我编写的库的外部 .dll 文件的 CLR 触发器。现在我只想能够在本地数据库上测试代码。我已将本地数据库设置为 Trustworthy = True 并将外部程序集访问我的用户名。我还添加了对我尝试使用的外部库的引用,但是当我调用该函数时出现此错误
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
如有任何帮助,我们将不胜感激。我现在知道我这样做是不安全的,现在它只是一个概念证明。构建库 .dll 时我做错了什么吗?
我认为您在 clr 项目中使用了第 3 方 dll
首先您需要从第三方 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
然后将你的第三方dll上传到sql服务器目录
[1]: https://i.stack.imgur.com/sBhQZ.png
我正在尝试部署一个链接到包含我编写的库的外部 .dll 文件的 CLR 触发器。现在我只想能够在本地数据库上测试代码。我已将本地数据库设置为 Trustworthy = True 并将外部程序集访问我的用户名。我还添加了对我尝试使用的外部库的引用,但是当我调用该函数时出现此错误
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
如有任何帮助,我们将不胜感激。我现在知道我这样做是不安全的,现在它只是一个概念证明。构建库 .dll 时我做错了什么吗?
我认为您在 clr 项目中使用了第 3 方 dll
首先您需要从第三方 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
然后将你的第三方dll上传到sql服务器目录
[1]: https://i.stack.imgur.com/sBhQZ.png