WEB开发网
开发学院数据库DB2 使用JDBC连接不同版本DB2的兼容性问题 阅读

使用JDBC连接不同版本DB2的兼容性问题

 2007-11-02 21:41:35 来源:WEB开发网   
核心提示: 关系数据库在您的电子商务应用中一定扮演着不可或缺的重要角色,DB2 是您的选择么?也许您的系统里早就部署了 DB2 UDB V7.2 系列软件;也许您正打算升级您的 DB2 系统到最新的版本;也许您刚刚部署了最新的 DB2 UDB V8.1 系列软件,使用JDBC连接不同版本DB2的兼容性问题,并且想更新您之前开发

   关系数据库在您的电子商务应用中一定扮演着不可或缺的重要角色。DB2 是您的选择么?也许您的系统里早就部署了 DB2 UDB V7.2 系列软件;也许您正打算升级您的 DB2 系统到最新的版本;也许您刚刚部署了最新的 DB2 UDB V8.1 系列软件,并且想更新您之前开发的应用系统。如果您正打算这么做,那么这篇文章的话题应该是您所感兴趣的。

   您的应用系统如果想和 DB2 系统打交道,我想首先需要做的一定是和 DB2 数据库建立连接并且对数据库进行各种操作。对于基于 JAVA 平台的应用程序来说,JDBC(Java Database Connectivity)一定是开发人员的首选。它作为 JAVA 编程语言的必备组件,已经成为 JAVA 2 标准版(JAVA 2,Standard Edition,J2SE)规范的一部分,而 DB2 系统对 JDBC 做了很好的支持。

   在您决定迁移您的应用系统的时候,可能并不想直接升级您的DB2系统到最新的版本,这个时候就可能会碰到和我开发中所碰到的相似的情形,即我们需要适应不同版本的 DB2 数据库同时存在的应用环境,这时我们可能希望应用程序能够顺利地在不同版本的 DB2 数据库之间迁移而无需做过多的修改。

   本文就介绍了为解决这类问题所做的一系列实验,并且根据实验结果给开发人员提出了一些建议。

   我们讨论的范围限定在使用 JDBC 连接 DB2 UDB V7.2 和 DB2 UDB V8.1 时碰到的问题。这里实验环境中的 JDK 版本是 1.3,可能有些开发人员已经尝试采用 JDK1.4 了,如果开发中碰到一些令人费解的问题,请尝试改变您的 JDK 版本再做尝试,这往往就能解决你的问题。

   通过本文,读者可以了解到下面的一些知识:

   1. DB2 系统对 JDBC (Java Database Connectivity)的支持

   2. DB2 命令行工具 CLP(Command Line Processor)

   3. DB2 命令中心(DB2 Command Center)

   4. 不同版本 DB2 系统发布的 JDBC 驱动程序彼此的兼容性

   我在实验中使用的软件系统包括:

   1. IBM DB2 UDB V7.2 Enterprise Edition

   2. IBM DB2 UDB V7.2 Enterprise Edition FixPack 7

   3. IBM DB2 UDB V8.1 Enterprise Server Edition

   4. IBM DB2 UDB V8.1 Enterprise Server Edition FixPack 4

   5. IBM WSAD V5.0

   6. Windows 2000 Server

   DB2 与 JDBC 支持

   依照 JDBC 规范,有四种类型的 JDBC 驱动程序体系结构:

   Type 1:这类驱动程序将 JDBC API 作为到另一个数据访问 API 的映射来实现,如开放式数据库连通性(Open Database Connectivity,ODBC)。这类驱动程序通常依赖本机库,这限制了其可移植性。JDBC-ODBC 桥驱动程序就是 Type 1 驱动程序的最常见的例子。
   Type 2:这类驱动程序部分用 JAVA 编程语言编写,部分用本机代码编写。这些驱动程序使用特定于所连接数据源的本机客户端库。同样,由于使用本机代码,所以其可移植性受到限制。
   Type 3:这类驱动程序使用纯 JAVA 客户机,并使用独立于数据库的协议与中间件服务器通信,然后中间件服务器将客户机请求传给数据源。
   Type 4:这类驱动程序是纯 JAVA,实现针对特定数据源的网络协议。客户机直接连接至数据源。
   对于DB2 UDB V7.2来说,它不支持 Type 1 和 Type 4 的驱动程序,但是提供了分别支持 Type 2 和 Type 3 的驱动程序。

   示例如下:

   两种驱动程序均随产品安装由 db2java.zip 提供。

   COM.ibm.db2.jdbc.app.DB2Driver
   这是一种 Type 2 的 JDBC 驱动程序,它通过 DB2 本地客户机库的帮助建立和 DB2本地数据库或是远程数据库的连接(事先将远程数据库编目到本地)。因此,我们必须在应用系统所在的机器上同时部署 DB2 本地客户机库,这也许是它最大的一个不足之处。

   使用格式如下:

   Driver Name:COM.ibm.db2.jdbc.app.DB2Driver

   URL Pattern:jdbc:db2:databasename

   databasename: 需要访问的数据库名

   COM.ibm.db2.jdbc.net.DB2Driver

   这是一种 Type 3 的 JDBC 驱动程序,它通过与一台已经部署了 DB2 本地客户机库的机器通信来建立和 DB2 远程数据库的连接。

   使用格式如下:

   Driver Name:COM.ibm.db2.jdbc.net.DB2Driver

   URL Pattern:jdbc:db2:ServerIP:databasename

   ServerIP: 需要访问的数据库所在机器IP地址

   databasename: 需要访问的数据库名

   (目标DB2系统侦听该服务于默认端口6789,否则还需要在 URL Pattern 中指定目标端口号)

   对于 DB2 UDB V8.1 来说,它仍然不支持 Type 1 的驱动程序。同时,它在 DB2 UDB V8.1的基础上,新增加了对 Type 4 驱动程序的支持。

1 2 3 4  下一页

Tags:使用 JDBC 连接

编辑录入:coldstar [复制链接] [打 印]
赞助商链接