概述
DB2 拥有广泛的开发拥护者,涵盖了 .NET 和 J2EE™ 平台。就应用程序开发 API 和应用程序开发工具而言,这些开发人员具有他们自己强烈的偏好。IBM 一直都意识到这两大阵营的重要性,并同时迎合两方的需要。
对于 Windows® Java™ 开发人员,IBM 具有 JDBC™ 和 JCC 驱动程序方面的强大产品,单独的 DB2 Development Center,以及用于 WebSphere® 和 Rational Studio® IDE 的集成插件。
对于 .NET Windows 开发人员,IBM 意识到有更紧密地集成到该环境中的强烈需求。IBM 强烈承诺支持 .NET 平台,特别是 Visual Studio .NET,从 2002 年初以来,后者就已经是 Microsoft Visual Studio Integrator Program(VSIP)的组成部分。IBM 已经交付了一个本机 .NET 托管提供程序和一套紧密集成的 Visual Studio 2002 和 2003 IDE 工具。
本文主要关注 IBM 当前在 Windows 客户平台上对于 .NET 的支持。
集成功能
一些 .NET 平台和 Visual Studio .NET 上的关键集成部件包括:
可用性
最初,DB2 AD Tools for Visual Studio .NET 是作为 DB2 和 DB2 Connect V8.1.2 的组成部分发布的。这里所描述的功能是于 2004 年 10 月发布的 DB2 和 DB2 Connect V8.2 中的一部分。
平台支持矩阵
下表有助于说明每种 DB2 服务器平台的支持级别。请注意“分布式”列是指 Windows 和 UNIX® 服务器平台。
表 1. DB2 平台支持矩阵
| 功能 | z/OS | iSeries® | 分布式 |
| 服务器级别 | V6, V7, V8 | V5r1, V5r2 | V8 |
| 客户机级别 | Connect V8.2 | Connect V8.2 | ADC V8.2 |
| 托管提供程序 | Yes | Yes | Yes |
| 工具箱 ADO.NET | Yes | Yes | Yes |
| SQL 调试器 | No | No | Yes |
| 数据库项目 | Yes | Yes | Yes |
| IBM Explorer | Yes | Yes | Yes |
| 表向导 | Yes | Yes | Yes |
| 索引向导 | Yes | Yes | Yes |
| 触发器向导 | Yes | Yes | Yes |
| SQL 过程向导 | Yes | Yes | Yes |
| CLR 过程向导 | No | No | Yes |
| SQL 函数向导 | Yes(标量) | Yes(标量) | Yes(标量/表) |
| IIS WebMethods | Yes | Yes | Yes |
| WAS Web 服务 | No | No | Yes |
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 语句或存储过程调用所返回的。