DB2与MyEclipse的连接配置

本文详细介绍了DB2数据库与MyEclipse的连接配置,包括JDBC驱动类型,如Type 2和Type 3驱动的使用,以及DB2提供的不同驱动程序。在MyEclipse Database Explorer中配置时,使用Type 2 Driver URL Pattern可以成功连接,但在SSH配置文件中需要注意避免出现错误,正确配置URL以防止 UnsatisfiedLinkError。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

依照 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 的驱动程式。

 

安装DB2后,在目录IBM/SQLLIB/java中包含了相应的驱动程序。可以分为两类:db2java.zip和db2jcc.jar。

 

db2jcc.jar文件中包含一个com.ibm.db2.jcc.DB2Driver驱动程序。db2java.zip包含一个COM.ibm.db2.jdbc.app.DB2Driver、COM.ibm.db2.jdbc.app.DB2StoredProcDriver驱动程序。

 

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: 需要访问的数据库名 

 

有人说在db2java.zip中包含一个COM.ibm.db2.jdbc.net.DB2Driver 驱动程序。在DB2 V9.5中并没有发现。使用也会报错。

 

除了 COM.ibm.db2.jdbc.app.DB2Driver 之外,DB2 UDB V8.1 还提供了另外一种 Type 2 的驱动程式,随产品安装由 db2jcc.jar 提供。其实现包名是 com.ibm.db2.jcc.DB2Driver,在DB2 UDB V8.1 最初的实现中,此驱动程式只用于使用 Type 4 驱动程式体系结构和 DB2 服务器进行直接的 JAVA 连接,这类驱动程式由于不必另外部署 DB2 本地客户机库及性能相对较好而收到研发人员的欢迎。自从 DB2 UDB V8.1.2(安装了 FixPack 2)之后,研发人员还能在 Type 2 体系结构中使用该驱动程式,以提高本地应用程式的性能。
这里,两种驱动程式具有相同的实现类名称,有两种不同的方法能区分 DB2 系统在内部最终会实例化哪个驱动程式:

 

使用不同的 URL Pattern 来区分两种不同的驱动程式
Type 2 Driver URL Pattern:jdbc:db2:databasename


这当中 databasename 是需要访问的数据库名
Type 4 Driver URL Pattern:jdbc:db2://ServerIP:50000/databasename


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

 

在MyEclipse Database Explorer中配置时使用Type 2 Driver URL Pattern:jdbc:db2:databasename 可以连接到数据库,也可以做Hibernate Revenge。但是在SSH的配置文件中(如下),可能会出错。

出错信息:

11:04:25,906 INFO  [STDOUT] com.ibm.db2.jcc.b.SqlException: [jcc][10389][12245][3.50.152] 装入本机库 db2jcct2, java.lang.UnsatisfiedLinkError: no db2jcct2 in java.library.path 时产生故障: ERRORCODE=-4472, SQLSTATE=null

 

将数据库连接改为:jdbc:db2://localhost:50000/test即可。

 

大功告成。

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值