威海企业做网站,专业建站公司推荐,Wordpress公网,宜昌网站建设哪个公司好Microsoft SQL Server 现在具备与 Microsoft Windows .NET Framework 的公共语言运行时 (CLR) 组件集成的功能。CLR 为托管代码提供服务#xff0c;例如跨语言集成、代码访问安全性、对象生存期管理以及调试和分析支持。对于 SQL Server 用户和应用程序开发人员来说#xff0… Microsoft SQL Server 现在具备与 Microsoft Windows .NET Framework 的公共语言运行时 (CLR) 组件集成的功能。CLR 为托管代码提供服务例如跨语言集成、代码访问安全性、对象生存期管理以及调试和分析支持。对于 SQL Server 用户和应用程序开发人员来说CLR 集成意味着您现在可以使用任何 .NET Framework 语言包括 Microsoft Visual Basic .NET 和 Microsoft Visual C#编写存储过程、触发器、用户定义类型、用户定义函数标量函数和表值函数以及用户定义的聚合函数。 下面列出了这一集成的其中一些主要优点 更好的编程模型。 改进了安全和安全性。 能够定义数据类型和聚合函数。 通过标准化环境简化了开发。 具备改善性能和可扩展性的潜力。既然CLR这么灵活那么我们如何在T-SQL和CLR之间做出选择呢一般情况下我们当以T-SQL为主在下面几种情况下应该考虑使用CLR SQL中涉及大量的逻辑判断和逻辑运算。比如需要在数据库级别自定义加密算法解密算法等。 T-SQL无法处理需求。比如需要在SQL中进行正规表达式的判断等。 逻辑判断过于复杂需要使用大量游标进行处理。这种情况一般要进行测试因为CLR不一定比游标快关键是看你怎么写。 下面介绍一下如何开启CLR和两种创建CLR的方法。关于如何在VS中编写CLR程序请看后续章节。 开启CLR。 在SQL Server2005/2008里面CLR默认是关闭的。可以使用如下SQL语句开启CLR。 sp_configure show advanced options, 1; GO RECONFIGURE; GO sp_configure clr enabled, 1; GO RECONFIGURE; GO 创建CLR。 方法一使用DLL文件进行创建 CREATE ASSEMBLY AssemblyName from ‘DLLPath’ 例如CREATE ASSEMBLY AssemblyName from ‘c:/hello.dll’ 方法二:使用文件16进制流进行创建 CREATE ASSEMBLY AssemblyName from 文件十六进制流 例如:CREATE ASSEMBLY AssemblyName from 0x123344…… 其中0x12334……是文件c:/hello.dll的十六进制流。可以使用UltraEdit等编辑器把相关dll文件的十六进制流copy出来。 相比较方法一简单属于外部引用通过创建就可以知道是哪个文件。但是dll文件路径必须可以被SQLServer所访问且部署时dll要随SQLServer变化而变化。 方法二是把流写进SQLServer中从一定程度上屏蔽了代码。如果此dll不大的话推荐使用方法二来创建CLR。