1、2019年1月10日,第1页,第21章开发CLR数据库对象,本章概述 本章要点 本章内容,2019年1月10日,第2页,本章概述,.NET Framework的CLR(Common Language Runtime,即:公共语言运行库)与Microsoft SQL Server 2008系统的集成是Microsoft SQL Server 2008版本重要的开发特性,CLR的集成大大增强了Microsoft SQL Server 2008系统的开发功能,包括使用任何.NET兼容的语言(包括C#、Visual Basic和托管的C+)创建数据库对象的功能。本章学习实现.NET CLR与Micro
2、soft SQL Server的集成和如何创建CLR数据库对象。,2019年1月10日,第3页,本章要点,.NET CLR与Microsoft SQL Server的集成的意义 CLR体系结构的特点 启动Microsoft SQL Server对CLR的支持 创建CLR数据库对象的一般过程 使用Visual Studio 2008创建CLR触发器 使用CREATE ASSEMBLY语句创建程序集,2019年1月10日,第4页,本章内容,21.1 概述 21.2 CLR体系结构 21.3 CLR数据库对象创建过程 21.4 创建CLR触发器数据库对象 21.5 本章小结,21.1 概述,.NET
3、 CLR与Microsoft SQL Server 2008的集成支持使用任何.NET语言开发存储过程、用户定义函数、触发器、聚集和用户自定义类型等。这种集成不仅是表面的工作,实际上,Microsoft SQL Server 2008的数据库引擎内置了CLR。 托管代码可以结合新的SQL Server .NET Data Provider使用ADO.NET访问数据库。程序集是Microsoft SQL Server 2008中的数据库对象,是部署.NET对象和数据库的单元。,2019年1月10日,第5页,21.2 CLR体系结构,.NET CLR紧密地集成了Microsoft SQL Serv
4、er 2008的数据库引擎。实际上,CLR驻留在数据库引擎中。Microsoft SQL Server使用特殊的API或宿主层与CLR进行通信,并将CLR与操作系统连接起来。CLR的体系结构如图21-1所示,2019年1月10日,第6页,CLR的体系结构示意图,2019年1月10日,第7页,启动CLR支持,2019年1月10日,第8页,21.3 CLR数据库对象创建过程,2019年1月10日,第9页,21.4 创建CLR触发器数据库对象,下面,以创建CLR触发器数据库对象的完整过程为例,讲述如何使用Visual Studio 2008工具创建CLR数据库对象。,2019年1月10日,第10页,
5、21.5 本章小结,本章研究使用Visual Studio创建.NET CLR数据库对象的内容。首先,分析了.NET CLR与Microsoft SQL Server的集成的意义。其次,讲述了CLR体系结构的特点和启动Microsoft SQL Server对CLR的支持的方式。接下来,讨论了创建CLR数据库对象的一般过程。最后,以CLR触发器数据库对象为例,描述了使用Visual Studio创建CLR数据库对象的过程。,2019年1月10日,第11页,【思考和练习】,1. CLR与Microsoft SQL Server的集成的目的是什么? 2. CLR体系结构的特点是什么? 3. 如何启动Microsoft SQL Server对CLR的支持? 4. 创建CLR数据库对象的一般过程是什么? 5. 使用Visual Studio 2005/2008创建CLR触发器的一般过程是什么? 6. 动手实验:使用Visual Studio 2005/2008创建CLR存储过程。 7. 如何使用CREATE ASSEMBLY语句创建程序集? 8. TriggerAction属性的值是什么?,2019年1月10日,第12页,