Java连接DB2数据库之实战演示

此文章主要讲述的是Java连接DB2数据库的实际操作过程,如果你在实际操作中遇到Java连接DB2数据库的实际操作过程,但是你却不知道对其如何正确的解决,那么以下的文章对你而言一定是良师益友。

1. 关于Connection Pool

JDBC本身不提供连接池技术,需要第三方库的支持。

 

在需要频繁获得连接的Application中***用Connection Pool,如Web Application中

 

对于一般的Java Application则可以直接用JDBC连接连接DB2数据库。

 

2. Java Application中连接DB2

安装DB2 Personal Edition V9之后,在其中的java目录可以找到这两个文件:db2jcc.jar; db2jcc_license_cu.jar

 

db2jcc.jar中的com.ibm.db2.jcc.DB2Driver驱动程序被称为通用驱动,推荐使用(原因看第5点)。在使用它时,需要db2jcc_license_cu.jar,否则会提示没有license而无法工作。

 

DB2的连接地址:jdbc:db2://localhost:50000/Database

 

3. Web Application中连接DB2

一、以WAS为例,配置DB2 Data Source

 

1) 进入控制台

 

启动Websphere6.0服务, 打开浏览器,在地址栏中输入:http://localhost:9060/ibm/console/,登陆Websphere6.0管理控制台

 

2) 设置环境变量

 

在导航栏左侧选择: Environment -> Websphere Variables, 找到DB2UNIVERSAL_JDBC_DRIVER_PATH, 输入DB2数据库驱动jar包的位置,比如C:\Program Files\IBM\SQLLIB\java。确定,保存。

 

注意:通过管理工具访问远程机器的时候,设置的数据库驱动程序jar包,须为应用服务器所在机器的位置,而不是本机驱动所在位置,否则服务将无法加载驱动程序,测试数据源连接连接DB2数据库将失败。

 

3) 创建JDBC Provider

 

在导航栏左侧选择: Resources -> JDBC -> JDBC Providers。在右侧点New. 设置Database type选择DB2; Provider type 选择 DB2 Universal JDBC Driver Provider; Implementation type 选择 Connection pool data source(这里需要注意的是,非英文用户可能会出错,只需打开控制面板 -> 区域和语言选项 -> 区域选项 中的 标准和格式选成英语(美国)即可); Name可以随意设置; 点击Next; Next; Finish; Save。

 

4) 创建Data source

 

在导航栏左侧选择: Resources -> JDBC -> Data sources. 在右侧点New. 设置Data source name; 设置JNDI name; Next; 选择刚才新建的JDBC Provider; Next; Database name 设成你的数据库名; Driver type 选 4; Server name 设成server的ip; Port 设为 50000; Next; Finish; Save.

 

5) 选择刚创建的Data source, 在Related Items中配置JAAS, Alias设置别名; User ID和Password设为访问DB2的用户名和密码; OK; Save.

 

6) 进入之前的Data source, 在Component-managed authentication alias中选择刚配置的JAAS; OK; Save.

 

7) 选中该Data source, 点Test connection 进行测试.

 

二、在JEE项目中调用Data source

 

在JEE项目中需要在servlet中获得Datasource,方法如下:

 

  1. public class DBConnector {  
  2. public static Connection getConnection() throws SQLException, NamingException {  
  3. Context ctx = new InitialContext();  
  4. DataSource ds = (DataSource) ctx.lookup("jdbc/db2"); 

jdbc/db2为上面WAS中

  1. Connection conn = ds.getConnection();  
  2. }  
  3. } 

在某个Servlet中的doPost或者doGet方法中调用DBConnector.getConnection()方法即可。

4. DB2的连接接口

DB2 提供了两种API:JDBC 和 SQLJ。

 

SQLJ 是一个用于从 Java 应用程序进行数据访问的标准开发模型。SQLJ API 是在 SQL 1999 规范中定义的。

 

JDBC 驱动程序分为旧的CLI 驱动程序和新的通用JDBC 驱动程序(Universal JDBC Driver)。新的通用 JDBC 驱动程序在一个实现中同时为 JDBC 和 SQLJ API 提供了支持。JDBC 和 SQLJ 可以在同一个应用程序中互操作。

 

5. JDBC连接连接DB2数据库方式及DB2驱动的关系

JDBC 驱动程序体系结构分为四种类型,Type1,Type2,Type3,Type4。

 

JDBC Type 1 驱动程序基于 JDBC-ODBC 桥。因此 ODBC 驱动程序可以与此类 JDBC 驱动程序(由 Sun 提供)结合起来使用。IBM 不支持 Type 1 驱动程序,因此它不是推荐的环境。

 

JDBC Type 2 驱动程序依靠特定于操作系统的库(共享库)来与 RDBMS 通信。应用程序将装入这种 JDBC 驱动程序,而驱动程序将使用共享库来与 DB2 服务器通信。DB2提供了两种不同的 Type 2 驱动程序:

 

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

 

通用 JDBC 驱动程序 在文件 db2jcc.jar 中提供。其实现包名称为 com.ibm.db2.jcc.DB2Driver 。在最初的实现(V8.1)中,此驱动程序用于使用 Type 4 驱动程序体系结构与 DB2 服务器进行直接的 Java 连接。

 

在 Type 2 体系结构中使用此驱动程序的一个主要原因是为了本地应用程序性能和分布式事务支持。通用 JDBC Type 2 驱动程序分别使用 com.ibm.db2.jcc.DB2XADataSource 和 com.ibm.db2.jcc.DB2ConnectionPoolDataSource 来支持分布式事务和连接池。

 

JDBC Type 3 驱动程序是一种纯 Java 实现,它必须与 DB2 JDBC Applet 服务器(DB2 JDBC Applet Server)通信才能访问 DB2 数据。此类驱动程序旨在使 Java applet 能访问 DB2 数据源。

 

JDBC Type 3 驱动程序常被称作“网络(net)驱动程序”,它是根据其包名 COM.ibm.db2.jdbc.net 命名的。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 4 驱动程序是仅用于 Java 的 JDBC 驱动程序,它直接连接连接DB2数据库到数据库服务器。DB2 V8.1 引入了称为“通用 JDBC 驱动程序(Universal JDBC driver)”的 Type 4 驱动程序。通用 JDBC 驱动程序在文件 db2jcc.jar 中提供。其实现包名为 com.ibm.db2.jcc.DB2Driver 。

 

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

 

使用不同的连接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 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

 

6. 更多内容

参见:http://blog.csdn.net/peart_boy/archive/2006/10/16/1336201.aspx

【编辑推荐】

  1. DB2 9对企业有那三大帮助?
  2. DB2数据库优化时哪些策略少不了?
  3. DB2未使用索引的查找方案描述
  4. DB2表格操作技巧之导出LOB数据,很简单!
  5. DB2用户密码修改与备份恢复的正确应用

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/248736.html<

赞 (0)
管理的头像管理
上一篇2025-04-27 17:36
下一篇 2025-04-27 17:37

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注