DB2 9 运用斥地(733 测验)认证指南,第 1 部分: 数据库对象与编程方式(5)

运用根基事理构建根基本相
developerWorks








基于驱动顺序的 API

虽然大年夜大都数据库提供商支撑嵌入式 SQL 数据库访谒,但假设希望运用相反的源代码并将嵌入式 SQL 运用顺序部署到多个数据库零碎,则需终止一些额定的操纵。必需运用分歧提供商的公用预编译器预编译顺序。还必需天生数据访谒方案并将其绑定到目标数据库。要加强运用顺序的可移植性,可考虑运用本部分先容的基于驱动顺序的拾掇方案

基于驱动顺序的拾掇方案触及与运用顺序相衔接的驱动顺序管理器。驱动顺序管理器提供了一组行业尺度的运用顺序编程接口 (API) 来访谒数据源。编写运用顺序来调用这些 API;然后编译该顺序并将其与管理器的库链接起来。因为驱动顺序切合该尺度,以是运用顺序可经由过程运用(或加载)正确的驱动顺序轻松访谒分歧提供商的数据源。

在本部分中,将看到 DB2 支撑的一些 API。在此系列的其他几篇教程中将领会每个 API 的过细信息。

CLI 和 ODBC API

DB2 Call Level Interface (CLI) 是面向 DB2 数据库效力器的 IBM 可调用 SQL 接口。这是用于数据库访谒的 C/C API。正如可以运用嵌入式静态 SQL 语句编程一样,也可以运用 DB2 CLI 斥地静态运用顺序。在上述两种情况中,都是在运转时准备和处置惩罚 SQL 语句。只是嵌入式静态 SQL 需要预编译器,DB2 CLI 则不用要。只需复杂地编译运用顺序并将其链接到 DB2 CLI 驱动顺序库即可。

DB2 CLI 基于 Microsoft 的 Open Database Connectivity (ODBC) 和 X/Open CLI 尺度。在 ODBC 环境中,运用顺序与运用 ODBC 驱动顺序管理器的数据库效力器相衔接。该管理器为运用顺序衔接到的数据库效力器静态地加载必需的驱动顺序。ODBC 提供了几个级其它功能支撑,DB2 CLI 目前依从的是 ODBC 3.51。

要斥地 DB2 CLI 运用顺序,需要 DB2 客户机或 DB2 运转时客户机。它们包含了编译和链接 CLI 运用顺序必需的悉数头文件和库。另一方面,要斥地 ODBC 运用顺序,需要有 Microsoft 提供的 ODBC Developer's Software Kit。

图 1 为 DB2 CLI 和 ODBC 环境之间的复杂角力较量争论:

图 1. DB2 CLI 与 ODBC 比照
DB2 CLI 与 ODBC 比照

在良多情况下,客户从软件提供商处获得或置办 ODBC/CLI 运用顺序。他们只需一个运转时环境来运转 ODBC/CLI 运用顺序。陪同 DB2 9 引入了一个新的驱动顺序产物,即 IBM DB2 Driver for ODBC and CLI,您可以免费下载该产物。可以在 DB2 9 Information Center 找到该驱动顺序的设置措施。(参见 参考材料 中响应的链接。)





回页首



.NET 框架和 ADO.NET API

.NET 框架是可协助完成多种运用顺序的斥地平台。.NET 框架中有以下三个首要组件:

  • 大众言语运转库 (CLR)
  • 框架类库
  • .NET 兼容的言语

编译 .NET 兼容的言语(如 C# .NET 和 Visual Basic .NET)时,将孕育发作称为中心言语 (IL) 的字节码。大众言语运转库是为 IL 代码提供代码实验效力的运转时环境。因为悉数 .NET 兼容的言语都会被编译成 IL,以是 CLR 可集成以种种言语编写的代码。例如,Visual Basic (VB) 方式可访谒 C# 方式,而 C# 中界说的类可从 VB 终止访谒。

.NET 框架库是斥地人员用来构建 .NET 运用顺序的类和 API。它们提供了一组通用效力,如文件 I/O 和数据源访谒,答允斥地人员向顺序添加功能,而无需顾忌编程言语。ADO.NET 是部分 .NET 框架的编程模子示例。像 Open Database Connectivity (ODBC) 和 Object Linking and Embedding Database (OLE DB) 一样,ActiveX Data Objects .NET (ADO.NET) 是 Microsoft 提供的另一个数据访谒运用顺序接口。这个更新后的数据访谒模子连系了其前身 ActiveX Data Objects (ADO) 以及传统数据库访谒、集成的 XML 支撑和断开的数据架构的精良特性。

运用 ADO.NET 从 .NET 运用顺序衔接到 DB2 数据库梗概有三种访谒方式。可运用 Microsoft ODBC .NET 数据提供顺序、Microsoft OLE DB .NET 数据提供顺序或 DB2 .NET 数据提供顺序。DB2 数据库和 .NET 运用顺序间的数据访谒交换方案如图 2 所示:

图 2. DB2 支撑 ADO.NET
DB2 支撑 ADO.NET

可以看到,ODBC 和 OLE DB 选项都需要将运用顺序央求从 ODBC 和 OLE DB .NET 数据提供顺序翻译成 DB2 ODBC 和 OLE DB 外埠驱动顺序。因为驱动顺序间翻译孕育发作了更长的代码途径和限定,以是剧烈建议运用外埠 DB2 .NET 数据提供顺序选项。DB2 .NET 数据提供顺序支撑 .NET 框架 1.1 和 2.0 版本。





回页首



JDBC 和 SQLJ API

Java 平台已盛行了良久。但人们仍在终止多种雀跃以扩展其功能,改善其功能。访谒和操纵 DB2 的 Java 顺序可运用 Java Database Connectivity (JDBC) API 和 Embedded SQL for Java (SQLJ) 尺度。二者都是提供商中立的 SQL 接口,经由过程尺度化的 Java 方式提供对运用顺序的数据访谒。

JDBC 是 现实上的 尺度 Java API,它运用静态 SQL 和一个功能强大年夜的面向对象接口来访谒关连数据库。JDBC 将静态 SQL 传递给 DB2 附带的 JDBC 驱动顺序。DB2 经由过程 JDBC API 实验 SQL 语句,并将成绩传回 Java 代码。JDBC 与 DB2 CLI 的类似之处在于,无需预编译或绑定 JDBC 顺序,这是因为 JDBC 运用静态 SQL。

另一方面,SQLJ 顺序包含静态嵌入式 SQL 语句。准备 SQLJ 顺序时需要实验类似于预编译和绑定的措施。在编译 SQLJ 源文件之前,必需用 SQLJ 翻译器对其终止翻译,从而创设外埠 Java 源代码。翻译完成后,需要运用 DB2 为 Java 设置文件定制器 (db2profc) 创设 DB2 包。本系列的第七篇教程(标题题目为 “Java 编程”)将齐备地计议若何构建 SQLJ 运用顺序。





回页首



用于 JDBC 和 SQLJ 的支撑 DB2 的驱动顺序

根据 Java 2 Platform, Enterprise Edition (J2EE) 范例,用于获得数据访谒的 Java 方式和接口可包装为 JDBC 驱动顺序。DB2 提供了以下两种范例的 JDBC 驱动顺序:

  • 用于 Linux™、UNIX® 和 Windows® 的 DB2 JDBC Type 2 Driver
  • 用于 JDBC 和 SQLJ 的 IBM DB2 Driver(Type 2 和 type 4)

用于 Linux™、UNIX® 和 Windows® 的 DB2 JDBC Type 2 Driver 构建于外埠 DB2 CLI 之上。此驱动顺序已被阻挠并且 DB2 的后续版本将不再对其提供支撑。可运用上面先容的 JDBC 驱动顺序作为交换。

用于 JDBC 和 SQLJ 的 IBM DB2 Driver 运用 DB2 家族中对悉数数据库都通用的 Distributed Relational Database Architecture (DRDA) 和谈。此驱动顺序运用 Type 4 驱动顺序架构将 Java 直连续接到 DB2 效力器。该驱动顺序既包含 JDBC type 2 的举动,又包含 type 4 的举动,还包含 SQLJ 运转时支撑。完成类的称号为 com.ibm.db2.jcc.DB2Driver。 图 3 中提供了对该驱动顺序的阐发');:

图 3. 用于 JDBC 和 SQLJ 的 IBM DB2 Driver
用于 JDBC 和 SQLJ 的 IBM DB2 Driver





回页首



以开放源码言语终止的 DB2 数据库运用顺序斥地

DB2 也提供 API 来支撑罕见的开放源码编程言语(包含 PHP、Perl 和 Python)。

PHP

PHP:Hypertext Processor (PHP) 是用于创设 Web 内容的开放源码效力器端剧本言语,并且是用于创设 Web 运用顺序以访谒 DB2 数据的功能强大年夜的选择。可经由过程以下两种产物从 PHP 运用顺序访谒 DB2 数据库:

  • ibm_db2 是 IBM 为访谒 DB2 数据库而编写、维护和支撑的扩展。ibm_db2 扩展为实验对用户数据和数据库元数据的数据库操纵提供过程 API。可运用 PHP 4 或 PHP 5 编译 ibm_db2 扩展。
  • PDO_ODBC 是 PHP Data Objects (PDO) 扩展的驱动顺序,经由过程 PHP 5.1 中引入的面向对象的尺度数据库接供词给对 DB2 数据库的访谒。虽然此驱动顺序的称号提到 ODBC,但可直接运用 DB2 库编译 PDO_ODBC 扩展,从而防止通讯开支和 ODBC 驱动顺序管理器的潜伏滋扰。

图 4 演示了这些产物:

图 4. DB2 的 PHP 接口
DB2 的 PHP 接口

Perl

Perl 是一种功能强大年夜、易于运用的编程言语,可以源代码或二进制方式免费获得。可运用 Perl 疾速操纵关连数据库中的大年夜量数据。衔接 Perl 剧本到关连数据库的尺度是称作 DBI 的数据库接口模块。要从 Perl 剧本访谒 DB2 数据库,需要用于 Perl 的 DB2 驱动顺序。

如图 5 所示,Perl 剧本运用尺度 API 与 DBI 终止通讯。Perl DBI 模块只支撑静态 SQL。该模块界说了一组方式、变量和约定,用来提供自力于理论所运用数据库的分例如的数据库接口。关于编程人员希望运用的任何数据库,DBI 均为 API 提供了分例如的接口。DBD::DB2 是答允 Perl 与 DB2 终止通讯的 Perl 模块。

图 5. DB2 Perl 驱动顺序
DB2 Perl 驱动顺序

Python

Python 是翻译过的交互式面向对象的编程言语。 编程人员无需编译运用顺序中的 Python 代码;因为 Python 源代码老是被翻译成字节码,以是编译过程是主动终止的。要运用 Python 运用顺序访谒 DB2 数据库,只需要一个 Python DB API 即可,如图 6 所示:

图 6. DB2 的 Python DB API 2.0 接口
DB2 的 Python DB API 2.0 接口

Python 还拥有称作 Jython 的百分之百纯 Java 完成,可用于衔接到 Java 组件。





回页首



XML 编程

您肯定据说过可扩展标记言语,或 XML。XML 是一种极端灵敏的自描画言语。可轻松地扩展或转换成其他项目。它自力于平台和提供商并且易于共享。XML 基于分层数据模子,后者是存储非构造化信息的志向模子。

面前目今当今,根据需要获取有价值的信息极端重要。随需应变的业务必需具有集成的、灵敏的零碎,以便更快地照应市场更动。但是,信息每每以分歧项目存储在分歧品种的运用顺序中。起首必需经由过程将这些运用顺序封装为效力,以便对信息终止整合。谋划为运用 Service-Oriented Architecture (SOA) 方式的零碎真正地简化了此整合过程。 SOA 基于 Web 效力技能,而 Web 效力的核心是 XML。XML 不但是 Web 效力的完成技能,也是新的 Web 2.0 技能(如 Ajax、RSS、收集日志等)的完成技能。图 7 阐释了 XML 的重要性:

图 7. XML 技能
XML 技能

良多技能和编程言语都支撑 XML。DB2 9 在支撑 XML 方面获得了严重年夜前进。DB2 9 是混合或多构造的数据效力器,既可运用关连数据,又可运用 XML 数据。它是当前用心的提供 XML 文档的外埠 XML 存储的数据效力器。要进一步领会 DB2 XML 支撑,请搜查 DB2 Information Center 和 IBM developerWorks(参见 参考材料 中的链接)。




版权声明: 原创作品,答允转载,转载时请务必以超链接方式标明文章 原始出处 、作者信息和本声明。不然将追查法令责任。

posted @ 2011-03-06 23:52  蓝色的天空III  阅读(173)  评论(0编辑  收藏  举报