在Sql Server 2005中,可以创建基于.Net Framework公共语言运行时(CLR)在存储过程。
要创建一个CLR存储过程,大致步骤如下:
- 开启SQL Server 2005的CLR支持。
- 编写CLR存储过程内容,并把类编译成DLL文件。
- 注册程序集。
- 创建引用程序集的存储过程。
- 执行CLR存储过程。
一.开启SQL Server 2005的CLR支持。
exec sp_configure 'clr','1'
go
reconfigure
go
二.编写CLR存储过程(以C#为例)
打开vs2005后,新建一项目,Visual C#->数据库,选择“SQL Server项目”,然后会弹出一个选择数据库的对话框,设置好要访问的数据库。在项目中添加一个存储过程。文件名是CLR_SP.CS
在CLR_SP.CS中输入如下代码:
conn.Close();
}
}
};
然后选择“生成”-》“生成<项目名称>”,这样相应的就编译成了相应的DLL文件。
三.注册程序集
注册程序集有三种方法:
1.在SQL Server Management studio 里有注册向导的窗口
在程序集路径中选择DLL文件
2.用SQL代码
3.在vs2005中选择“生成”-》“部署<项目名称>”,则会直接在相应的数据库里部署程序集。
四.创建引用程序集的存储过程。
注册完成后,可以创建引用程序集的存储过程,如下代码:
其中Clr_sps是程序集的名称,StoredProcedures是类的名称,Clr_Select是静态方法的名称。
五.执行CLR存储过程。
这样的话,我们就可以利用sql Server 2005来执行一些非数据类的操作,比如发email,执行FTP操作等。。。