Tob*_*bom 24 .net sql-server sqlclr sql-server-2008-r2
在最近重新启动我们的开发服务器期间,SQL Server开始使用.NET 4.0SQLCLR.这意味着在SQL中没有使用CLR,或者至少通过阅读这些来源是我的理解:
http://software.intel.com/en-us/blogs/2009/10/16/sql-server-2008-sqlclr-net-framework-version/
www.sqlskills.com/BLOGS/BOBB/post/On-SQL-Server-and-NET-40.aspx
我们得到的只是这种类型的错误消息:
消息6517,级别16,状态1,行1无法创建AppDomain"xxx.dbo [ddl] .3".方法的类型签名不是Interop兼容的.
运行声明(由@ john-christensen建议)
select * from sys.dm_clr_properties
Run Code Online (Sandbox Code Playgroud)
得到以下信息:
*Name* *Value*
directory C:\Windows\Microsoft.NET\Framework64\v4.0.30319\
version v4.0.30319
state CLR is initialized
Run Code Online (Sandbox Code Playgroud)
有谁知道如何解决这个或如何强制SQL Server CLR使用早期版本的框架?
小智 14
我遇到了同样恼人的问题.我的数据库中的Geography/Geometry东西都没有工作.最后给我一些不成功的重新安装SQL服务器(几周后!)发现我的注册表中的以下密钥已设置为'1'
HKEY_LOCAL_MACHINE\SOFTWARE \微软\ .NETFramework\OnlyUseLatestCLR
当我将其重置为'0',并重新启动机器时,事情再次奏效!
汉斯
从文章和我在网络上的研究看起来可能正好相反 - 你有可能注册4.0 DLL吗?似乎SQL Server 2008将始终加载2.0 CLR而不是4.0 CLR.尝试运行此语句,它将告诉您SQL Server正在运行的版本:
从sys.dm_clr_properties中选择*
在您引用的英特尔帖子中,如果您仔细阅读,它会说:
SQL Server 2008和即将发布的SQL Server 2008 R2版本(以前代号为"Kilimanjaro")将继续加载2.0版CLR的最新服务版本.
后来:
虽然SQL Server的未来版本可能会加载更新版本的CLR,甚至支持在此过程中加载多个CLR ,但CLR的2.0版本仍然适用于SQL Server 2008和SQL Server 2008 R2中的SQLCLR.
我不知道你是如何设法在SQL Server 2008 R2中加载.NET 4的....
| 归档时间: |
|
| 查看次数: |
19360 次 |
| 最近记录: |