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