一、简介
microsoft 通过宿主 microsoft .net framework 2.0 公共语言运行库 (clr),sql server 2005显著地增强了数据库编程模型的功能。它支持用任何 clr 语言(特别是 microsoft visual c# .net、microsoft visual basic .net 与 microsoft visual c++)编写过程、触发器与函数。同时,它还提供了扩展数据库系统中的类型系统与聚合函数的功能,方法是允许应用程序创建它们自己的数据类型与聚合函数。
本白皮书的目标读者包括数据库应用程序开发人员、架构师与数据库管理员。本白皮书假设读者熟悉基于 .net framework 的编程与数据库编程。 【相关文章:AS/400 NetServer 简介】
本白皮书从数据库应用程序开发人员的角度描述了如何最有效地利用这项技术。它还将 clr 与 sql server 中支持的现有编程语言(即 transact-sql (t-sql) 与扩展存储过程 (xp))进行了比较。本白皮书不打算提供这些功能的基本参考资料,sql server 2005 beta 2 books online 对其进行了详细介绍。 【扩展阅读:i5/OS操作系统简介】
注册与执行数据库中的托管代码包括以下步骤: 【扩展信息:i5服务器中内置的DB2数据库敏感性游标】
二、clr 集成概述下面简要概述了 clr 集成执行的 sql server 功能,以及 visual studio 2005 最终发布版本如何支持这些功能。
•
开发人员将托管程序编写为一组类定义。将 sql server 内旨在用作存储过程、函数或触发器(下面统称为例程)的代码编写为类的 static(或 microsoft visual basic .net 中的 shared)方法。将旨在用作用户定义的类型与聚合的代码编写为一个整类。开发人员编译该程序并创建一个程序集。
•然后,将此程序集上载到 sql server 数据库,在其中使用 create assembly 数据定义语言 (ddl) 将它存储到系统目录。
•接着,创建 transact-sql 对象,例如,例程(函数、过程与触发器)、类型与聚合,并将其绑定到已经上载的程序集中的入口点(对例程来说是方法,对类型与聚合来说是类)。使用 create procedure/function/ trigger/type/aggregate 语句来完成这一步。
•在创建了这些例程之后,应用程序就可以像使用 t-sql 例程一样使用它们。例如,可以从 t-sql 查询中调用 clr 函数,从客户端应用程序或从 t-sql 批处理中调用 clr 过程,就好像它们是 t-sql 过程一样。
... 下一页