【发布时间】:2020-12-13 01:02:57
【问题描述】:
我处于找不到解决方法的情况。
我正在尝试在 Visual Studio 2015 上开发一个 SQL CLR 项目,您可以在其中从 SQL 服务器执行 POST 和 GET HTTP 请求。我能够在控制台应用程序上实现我需要做的事情,然后我决定将它带到 SQL Server 数据库项目中。有问题的数据库具有 2008 的兼容性级别,这迫使我将项目的目标框架更改为 .NET 2.0,否则它不会发布。但是我使用的 Npgsql 和 Newtonsoft JSON 之类的引用要求项目是 .Net 4.6.1,否则它们不起作用。
我尝试手动创建程序集。但是数据库在像 192.168.x.x 这样的服务器中,我不知道将 dll 文件放在哪里才能创建汇编脚本。
我们将不胜感激任何帮助或建议。
更新: 所以按照 Solomon 的建议,我能够找到 Npgsql 和 Newtonsoft.json 的 .NET 2.0 兼容版本。我能够将 Newtonsoft.json 作为程序集添加到数据库中,但 Npgsql 不起作用。如果不是,它要求 Mono.Security.dll 与 Npgsql 位于同一文件夹中,并且当您将其添加到文件夹时,Mono.Security.dll 可能无法通过验证,可能是因为它是一个混合程序集。这是它给出的错误信息;
为程序集“Npgsql”创建程序集失败,因为程序集 “Mono.Security”验证失败。检查是否引用 程序集是最新且受信任的(对于 external_access 或不安全) 在数据库中执行。 CLR 验证程序错误消息(如果有) 关注这条消息
我将尝试通过使用 ODBC 找到解决此解决方法的方法。
【问题讨论】:
标签: c# sql-server clr sqlclr