DB2和Visual Studio .NET开发慨述
2008-02-27 14:30:14 来源:希赛网 作者: 点击:
长期以来,DB2 一直支持大量的存储过程编程语言,包括 C、Java、Perl、Cobol 和 REXX 等等。为了支持所有 CLR 语言,如 C# 和 Visual Basic,添加基于 CLR 的存储过程和函数支持是最自然不过的。
IBM Informix® .NET 本机数据提供程序是与 IBM Informix Client SDK 一起发布的。SDK 的 2.90 版本包含了对 IDS .NET 托管提供程序有限的工具(tooling)支持。Visual Studio 工具箱的 Data 选项卡已经扩展为列出 IDS ADO.NET 对象。您可以在 Win 和 Web 表单容器上拖放这些对象。您还可以使用定制(custom)编辑器定制这些对象。
在安装 IDS 客户机 SDK 时,将自动安装和配置 .NET 托管提供程序和 Visual Studio 工具。
IBM DB2 Everyplace 支持(DB2e)
developer 上的 DB2e 教程
DB2e 托管提供程序有两个版本,即 Data.DB2.DB2e (在 .NET Framework 上运行)和 IBM.Data.DB2.DB2e.CF (在 .NET Compact Framework 上运行)。
仅仅从 V8.1.4 开始,才为 Data.DB2.DB2e 提供程序提供了基本 RAD 工具(tooling)。该工具提供与 VS.NET 数据工具箱(Data Toolbox)的集成,开发人员可以在其中设置 DB2e ADO.NET 对象(如 DB2eConnection、DB2eCommand、DB2eDataAdapter 等等)的属性。
DB2 托管提供程序
DB2 .NET 托管提供程序允许使用标准 ADO.NET 编程模型,开发以数据为中心的应用程序。虽然 .NET 开发人员可以选择使用 ODBC、OLE DB 或本机提供程序来开发他们的 DB2 应用程序,但当谈到 RAD 工具和性能时,本机提供程序就应该是您的第一选择。
提供程序对象模型
像所有其他 ADO.NET 提供程序一样,DB2 托管提供程序实现了相同的标准 ADO.NET 类集和方法集。这些类是在 IBM.Data.DB2 名称空间下定义的。
图 1. DB2 ADO.NET 对象模型

主要的类集包括:
DB2Connection - 该数据连接类支持您指定用于连接目标 DB2 服务器的连接串。默认启用连接池(connection pooling)。open 和 close 方法调用实际上可能转换成在应用程序连接池中保留和释放一个实时(live)连接。
DB2Command - 该命令对象支持使用数据连接对象执行任何受支持的 SQL 语句或存储过程。命令执行还支持可选的超时(timeout)值。
DB2DataAdapter - 该数据适配器对象包含四个可选命令,用于可能成为 SQL 语句或存储过程调用的选择、插入、更新和删除操作。
DB2DataReader - 您一般使用 DB2DataReader 对断开连接的结果集进行单向(forward-only)的快速访问,这些断开连接的结果集是执行 SQL 语句或存储过程调用所返回的。
性能优势
正如前面所说的,虽然您可以选择使用 ODBC 或 OLE DB 提供程序,但是 .NET 本机提供程序将产生最佳性能,因为它消除了 DB2 上额外的 ODBC、OLE DB 层。
本实验室已经对这三种支持的托管提供程序进行了内部性能测试,我们在不同行数中测试了大小不同的两行的数据检索。结果清楚表明本机 DB2 .NET 托管提供程序提供了最佳的性能数据。
DB2 .NET 托管提供程序中所包含的一些性能增强包括 MTS 支持、松散耦合事务、延迟加入(delayed enlistment)等。
图 2. DB2 提供程序性能

脚本编制向导
DB2 V8.2 Development Add-In 新的关键增强之一就是具有一组功能丰富的脚本编制向导,用于为表、视图、触发器、索引、存储过程和函数生成所需的 CREATE DDL。
向导概述
有两个地方启动 DB2 脚本编制向导,分别是从 Solution Explorer 视图中的 DB2 Database Project 和 IBM Explorer 视图中的 DB2 Data Connection。
这些脚本编制向导指导您通过一系列步骤,以定制用于创建新的 DB2 模式对象和例程的 DDL 和 SQL 语句。
当从 IBM Explorer 启动向导时,您可以直接执行所生成的 DDL,或选择将之添加到新的或现有的 DB2 数据库