DB2 JDBC Driver DB2 的 JDBC 驱动程序开源项目

我要开发同款
匿名用户2008年09月09日
37阅读
开发技术Java
所属分类数据库相关、数据库驱动程序
授权协议未知

作品详情

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

Type1:这类驱动程序将JDBCAPI作为到另一个数据访问API的映射来实现,如开放式数据库连通性(OpenDatabaseConnectivity,ODBC)。这类驱动程序通常依赖本机库,这限制了其可移植性。JDBC-ODBC桥驱动程序就是Type1驱动程序的最常见的例子。

Type2:这类驱动程序部分用JAVA编程语言编写,部分用本机代码编写。这些驱动程序使用特定于所连接数据源的本机客户端库。同样,由于使用本机代码,所以其可移植性受到限制。

Type3:这类驱动程序使用纯JAVA客户机,并使用独立于数据库的协议与中间件服务器通信,然后中间件服务器将客户机请求传给数据源。

Type4:这类驱动程序是纯JAVA,实现针对特定数据源的网络协议。客户机直接连接至数据源。

对于DB2UDBV7.2来说,它不支持Type1和Type4的驱动程序,但是提供了分别支持Type2和Type3的驱动程序。

示例如下:

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

COM.ibm.db2.jdbc.app.DB2Driver

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

使用格式如下:

DriverName:COM.ibm.db2.jdbc.app.DB2Driver

URLPattern:jdbc:db2:databasename

databasename:需要访问的数据库名

COM.ibm.db2.jdbc.net.DB2Driver

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

使用格式如下:

DriverName:COM.ibm.db2.jdbc.net.DB2Driver

URLPattern:jdbc:db2:ServerIP:databasename

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

databasename:需要访问的数据库名

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

对于DB2UDBV8.1来说,它仍然不支持Type1的驱动程序。同时,它在DB2UDBV8.1的基础上,新增加了对Type4驱动程序的支持。

示例如下:

DB2UDBV8.1仍然支持上面所述V7.2支持的两种驱动程序,随产品安装由db2java.zip提供,但具体实现上和DB2UDBV7.2产品发布的包有所不同,所以可能存在下文所要进行实验验证的兼容性问题。

除了COM.ibm.db2.jdbc.app.DB2Driver之外,DB2UDBV8.1还提供了另外一种Type2的驱动程序,随产品安装由db2jcc.jar提供。其实现包名是com.ibm.db2.jcc.DB2Driver,在DB2UDBV8.1最初的实现中,此驱动程序只用于使用Type4驱动程序体系结构与DB2服务器进行直接的JAVA连接,这类驱动程序由于不需要另外部署DB2本地客户机库以及性能相对较好而收到开发人员的欢迎。自从DB2UDBV8.1.2(安装了FixPack2)之后,开发人员还可以在Type2体系结构中使用该驱动程序,以提高本地应用程序的性能。

这里,两种驱动程序具有相同的实现类名称,有两种不同的方法可以区分DB2系统在内部最终会实例化哪个驱动程序:

使用不同的URLPattern来区分两种不同的驱动程序

Type2DriverURLPattern:jdbc:db2:databasename

这当中databasename是需要访问的数据库名

Type4DriverURLPattern:jdbc:db2://ServerIP:50000/databasename

这当中ServerIP是需要访问的数据库所在机器IP地址,databasename是需要访问的数据库名,DB2服务器会在默认端口50000上进行侦听。

使用连接特性来区分数据库连接是否会使用DB2本地客户机库,或者是使用JAVA直接连接。

DB2UDBV8.1新增加支持的这种Type4驱动程序,常被称为“通用JDBC驱动程序”,是一种与驱动程序类型连通性或目标平台无关的抽象JDBC处理器,因此常用于进行分布式和本地DB2UDB访问。因为“通用JDBC驱动程序”独立于任何特定JDBC驱动程序类型连通性或目标平台,所以它在一个DB2UDB驱动程序实例中同时支持所有JAVA连通性(Type4驱动程序)和基于JNI的连通性(Type2驱动程序)。该驱动程序可以用于独立JAVA应用程序或多层应用程序,是开发人员一个不错的选择。

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论