sql-server – SQL Server支持哪种版本的.NET框架?
我想为SQL Server创建基于SQLCLR的存储过程.如您所知,我可以针对多个版本的.NET框架构建一个DLL.我找不到描述哪个版本的SQL Server支持哪个版本的.NET框架的参考.任何人都可以帮我指出正确的方向吗?
解决方法需要明确的是,单个版本的CLR通常具有与其一起使用的多个.NET Framework版本.但是,单个版本的.NET Framework仅适用于CLR的一个特定版本.例如,CLR 2.0版适用于.NET Framework版本2.0,3.0和3.5,而CLR 4.0版适用于.NET Framework的所有4.x版本(即4.0,4.5 [.x],4.6 [. x],4.7 [.x]等).要查看CLR版本与Framework版本关系的图表,请参阅 .NET Framework Versions and Dependencies的MSDN页面.关于SQLCLR代码,SQL Server仅适用于单个版本的CLR,特定版本取决于SQL Server的版本. SQL Server 2005,2008和2008 R2仅适用于CLR版本2.由于CLR版本2仅适用于.NET Framework版本2.0,这意味着SQL Server 2005,2008和2008 R2仅适用于. NET Framework版本2.0,3.0和3.5. 当然,SQL Server 2005的CLR集成功能(它的初始版本)是围绕.NET Framework 2.0版构建的(因为那是当时可用的),因此.NET Framework 3.0版中有几个较新的库和3.5在没有手动导入它们的情况下在SQL Server 2005中不起作用(即System.Core和System.Xml.Linq).同样,SQL Server 2012,2014,2016和2017静态链接到CLR版本4,它适用于.NET Framework版本4.0,4.6 [.x]和4.7 [.x] . 关于从System.Environment.Version(在.NET代码中)和SELECT [version] FROM sys.dm_clr_properties;返回的信息,它们报告的是CLR版本,而不是.NET Framework版本.因此,请注意不要将报告2.0或4.0的两件事混淆为意味着您只能使用Framework 2.0或4.0版. 幸运的是,由于向后兼容性,针对CLR 2 Framework版本(2.0,3.0和3.5)编译的代码将运行而无需在SQL Server 2012及更高版本中重新编译,即使它们位于CLR版本4上. 因此,使用Target Framework Version 2.0时通常不会出错,但您肯定可以使用2.0之外的Framework版本. 有关开发SQLCLR代码的更深入了解,请查看以下文章(以及一般的系列文章),我写道: Stairway to SQLCLR Level 5: Development (Using .NET within SQL Server) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- sqlserver 修改字段类型,同表查询重复记录sql语句
- SQL Server 附加数据库后出现只读或失败的解决方法
- sqlserver 复制表结构
- SQL Server Transact-SQL 编程
- sql – 更改表添加具有默认值和FK的列,该值在FK参考数据中不
- 使用aspnet_regsql创建AspNetDB.mdf数据库
- sql-server – SQL Server 2014 Express中的SQLCMD.EXE在哪
- sqlserver2000 sp4装不上 双击setup.bat没反应
- SqlServer 执行计划及Sql查询优化初探(转载至http://www.站
- SqlServer找出所有的子节点,并按树形结构、层次查询