【发布时间】:2017-04-19 04:17:00
【问题描述】:
【问题讨论】:
标签: sql-server sqlclr
【问题讨论】:
标签: sql-server sqlclr
您试图从哪个目录/文件夹中提取这些 DLL?您应该只需要创建 ServiceModel 程序集。这将要求将数据库设置为TRUSTWORTHY ON,并将程序集创建为UNSAFE。
话虽如此,鉴于您正在构建的内容非常有限,您最好找到一种完全不同的方法。 SQLCLR 是一个非常受限的环境,不允许混合模式的程序集;只允许使用纯 MSIL 程序集。在 .NET Framework 2.0、3.0 和 3.5 版中,ServiceModel 库是纯 MSIL,因此导入它确实有效。但是,从 .NET Framework v 4.0 开始,ServiceModel 更改为混合模式 DLL,因此无法从 SQL Server 2012 开始导入 SQL Server(即要链接的第一个版本的 SQL Server到 CLR v 4.0,它使用 .NET Framework 版本 4.0 到当前的 4.7(我认为)。除了重写代码以不再引用 ServiceModel 之外,没有其他解决方法。请在此处查看我的答案以获取更多详细信息:
(Unfixable) Assembly exists on SQL Server 2014 but it claims it doesn't have it
【讨论】: