SQLServerCLR全攻略
SQL Server CLR全攻略CLR介绍和配置Microsoft SQL Server 现在具备与 Microsoft Windows .NET Framework 的公共语言运行时 (CLR)
SQL Server CLR 全攻略 CLR 介绍和配置 Microsoft SQL Server Microsoft Windows .NET Framework 现在具备与的公共语言 (CLR) CLR 运行时组件集成的功能。为托管代码提供服务,例如跨语言集成、代码访问 SQL Server 安全性、对象生存期管理以及调试和分析支持。对于用户和应用程序开发人员 CLR .NET Framework Microsoft 来说,集成意味着您现在可以使用任何语言(包括 Visual Basic .NET Microsoft Visual C# 和)编写存储过程、触发器、用户定义类型、用户 定义函数(标量函数和表值函数)以及用户定义的聚合函数。 下面列出了这一集成的其中一些主要优点: 更好的编程模型。 改进了安全和安全性。 能够定义数据类型和聚合函数。 通过标准化环境简化了开发。 具备改善性能和可扩展性的潜力。 CLRT-SQLCLR 既然这么灵活,那么我们如何在和之间做出选择呢?一般情况下, T-SQLCLR 我们当以为主,在下面几种情况下,应该考虑使用: SQL 中涉及大量的逻辑判断和逻辑运算。比如需要在数据库级别自定义加密算法,解 密算法等。 T-SQLSQL 无法处理需求。比如需要在中进行正规表达式的判断等。 逻辑判断过于复杂,需要使用大量游标进行处理。这种情况一般要进行测试,因为 CLR 不一定比游标快,关键是看你怎么写。 CLRCLRVSCLR 下面介绍一下如何开启和两种创建的方法。关于如何在中编写程 序,请看后续章节。 CLR 开启。 SQL Server2005/2008CLRSQLCLR 在里面,默认是关闭的。可以使用如下语句开启。 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.dllUltraEdit 其中是文件的十六进制流。可以使用等编辑器把相关 dllcopy 文件的十六进制流出来。 dll 相比较,方法一简单,属于外部引用,通过创建就可以知道是哪个文件。但是文件

