(十一)SQL Server CLR 集成

1、   概述

.NET2.0SQL Sever 2005开始,可以在SQL Server中集成CLRCommon Language Runtime,通用语言运行时)代码,让用户能够编写在SQL Server中运行.NET代码。可以编写存储过程和函数、将用户定义的类型用作数据库表的类型、编写自己的触发器等。这样一来,使用CRL代码能够执行使用SQL代码难以或者无法执行的很多任务。例如,CRL代码可以访问外部资源,如文件和网络资源,就像在.NET应用程序中一样。另外,这种开发技术还有一个重要的优点:应用程序和SQL Server访问使用相同的代码。这意味着无需学习太多有关SQL语言的知识,因为可以不用其高级功能,而使用.NET代码。

然而,这种技术也有其局限性。例如,在SQL Server中运行的代码不能使用.NET框架中的某些命名空间。另外,SQL Server中使用CLR代码并非是说根本不需要使用SQL代码。

要使用CLR集成,必须先在SQL Server中启用CLR集成功能。语句如下:

EXEC sp_configure ‘ clr enable ’ , 1

RECONFIGURE

在要SQL Server中执行.NET代码,必须使用System.Data命名空间中的属性和类型以特定的方式编写它们。然后,将代码编译为程序集(DLL文件),再将程序集加载到SQL Server中。

 

2、   例子:CLR集成标量函数

//functions.cs

Code

 

//创建一个sql查询:

 

Code

 

 

3、   例子:CLR集成的表值函数

 

// Functions.cs

Code

 

//sql查询:

Code

 

4、   例子:CLR集成的聚合函数

//Function.cs

 

Code

 

//sql查询:

 

 

Code

 

5、例子:CLR存储过程

      // Sprocs.cs

Code

 

//sql查询:

Code

 

 

posted @ 2009-07-04 15:53  烈火★寒冰  阅读(641)  评论(1编辑  收藏  举报