写在前面
本系列文章一共分为四部分:
1. CLR概述。
2. 在Visual Studio中进行CLR集成编程并部署到SQL Server,包括存储过程 、触发器、自定义函数、自定义类型和聚合。
3. CLR集成编程的调试和所遇到的问题。
4. 利用CLR同步SQL Server表和Sharepoint List(来源于实际项目应用)。
本系列文章建立在以下软件环境的基础上:
Windows Server 2003 Enterprise Edition Service Pack 2
Microsoft Visual Studio Team System 2008
Microsoft SQL Server 2008
Microsoft Office Sharepoint Server 2007
前言
CLR(Common Language Runtime)公共语言运行时是Microsoft在.NET出来之 后创造出来的一个概念,它是.NET架构中重要的组成部分,为所有.NET Framework代码提供执行环境。在CLR中运行的代码称为托管代码。CLR提供执行程 序所需的各种函数和服务,包括实时(JIT)编译、分配和管理内存、强制类型安 全、异常处理、线程管理和安全性等。相信读者已经在任何一本介绍.NET的书中 对它进行了了解,并且深知CLR的工作原理。本文要介绍的不仅仅是.NET架构中的 CLR,更多的则是有关CLR的集成编程。事实上,Microsoft在公共语言运行时 (CLR)集成编程上已经做了很多准备了,以至于用户现在可以用.NET的任何一种 语言将自己编写好的功能安插在微软的任何一款产品上(可能有些夸张了),例 如SQL Server、Office产品等,本文正是针对CLR在SQL Server上的应用进行介绍 。有关CLR在其它产品上的应用,我将在其它系列文章中再做介绍(如VSTO等)。
从SQL Server 2005开始,Microsoft就已经在其中集成了公共语言运行时 (CLR)组件,只不过当时的应用可能还不太广泛(也许我当时还并没有怎么听说 ),使用的用户不多。但是,这也就意味着用户已经可以使用.NET的任何一种语 言(如VB.NET和C#.NET等)来为数据库编写存储过程、触发器、用户定义类型、 用户定义函数、用户定义聚合和流式表函数等等数据库对象了。这个消息听起来 着实让人很兴奋,这让那些许多年来都十分保守的DBA、DEV(数据库开发人员) 们有了更多的选择,同时也让许多单纯的SDE(软件开发人员)可以尝试数据库开 发,从而让程序和后台的数据库结合得更加紧密,开发人员之间的协作更加顺畅 。