[英]Create CLR stored procedure using the dll created by .net framework 4.0 in sql server 2008. Is shows error
我正在使用以下代码创建CLR存储过程。 我正在创建程序集。 它显示了以下问题。 我的目标框架是4.0。 sql server是2008 r2
SQL代码:
create assembly SampleSearch from 'E:\CLR Files\Sample\ElasticSearch.dll'
错误信息:
程序集“ElasticSearch”的CREATE ASSEMBLY失败,因为程序集是为不支持的公共语言运行时版本构建的。
Microsoft SQL Server不允许混合模式CLR。 这意味着,它静态链接到特定版本的CLR(这与.NET Framework不同,大多数人都把它混淆了)。 SQL Server 2005,2008和2008 R2链接到处理.NET Framework版本2.0,3.0和3.5的CLR 2.0版,而SQL Server 2012和2014链接到处理.NET Framework 4.0,4.5的CLR 4.0版。 x,4.6.x等
你可以:
UNSAFE
,这样做需要将TRUSTWORTHY
的数据库选项设置为ON
(如果可能的话,最好保留为OFF
)。 有关SQL Server中的.NET细微差别(即SQLCLR)主题的更多详细信息,请参阅我在SQL Server Central上编写的以下文章,如果不是整个系列:
SQLCLR的阶梯级别5:开发(在SQL Server中使用.NET) (该站点需要免费注册)
坏消息是你无法做到这一点。 SQL 2008支持V2.0
将目标框架设置为2.0,然后再试一次。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.