首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> DB2 資料庫 >> DB2 教學

Java 連接 DB2 實戰全攻略:從 JDBC 基礎到 WAS DataSource 配置

     編輯:DB2 教學

連接架構選型指南

場景建議方案核心組件
獨立 Java 應用 JDBC 直連 + 連線池 HikariCP, db2jcc.jar, db2jcc_license_cu.jar
Web 應用 JNDI DataSource (容器管理) WAS/Tomcat/JBoss 內建連線池
高並發/分散式交易 XA DataSource com.ibm.db2.jcc.DB2XADataSource

JDBC 驅動詳解

  • 通用驅動 (Type 2/4):com.ibm.db2.jcc.DB2Driver (db2jcc.jar),單一 JAR 支援 Type 2 (本地) 與 Type 4 (網路) 兩種模式,需 db2jcc_license_cu.jar 授權。
  • URL 區分模式:
    • Type 4: jdbc:db2://host:50000/db (純 Java、跨平台、推薦)
    • Type 2: jdbc:db2:db (需本地 DB2 Client、本地效能最佳、支援 XA)
  • 舊版驅動 (已淘汰):COM.ibm.db2.jdbc.app.DB2Driver (db2java.zip, Type 2)、COM.ibm.db2.jdbc.net.DB2Driver (Type 3, Applet Server) —— 新專案勿使用。

WAS 8.5+ 配置 DB2 DataSource 完整步驟

1. 設定環境變數

管理主控台 → Environment → WebSphere Variables → DB2UNIVERSAL_JDBC_DRIVER_PATH = C:\Program Files\IBM\SQLLIB\java (驅動 JAR 所在目錄)。

2. 建立 JDBC Provider

Resources → JDBC → JDBC Providers → New
Database Type: DB2
Provider Type: DB2 Universal JDBC Driver Provider
Implementation Type: Connection pool data source
Classpath: ${DB2UNIVERSAL_JDBC_DRIVER_PATH}/db2jcc.jar
Native library path: ${DB2UNIVERSAL_JDBC_DRIVER_PATH}

3. 建立 Data Source

Resources → JDBC → Data Sources → New
Name: DB2DS | JNDI: jdbc/db2
選擇上述 JDBC Provider
Database name: SAMPLE | Driver type: 4
Server: 192.168.1.100 | Port: 50000

4. 配置 JAAS 認證

Data Source → Related Items → JAAS - J2C Authentication Data → New
Alias: DB2Auth | User: db2inst1 | Password: ****
回 Data Source → Component-managed authentication alias → 選 DB2Auth

5. 測試連線

勾選 Data Source → Test Connection → 成功顯示 "Successfully connected"。

Servlet/JSP 中取得連線

@Resource(name="jdbc/db2") DataSource ds;  // 注入式

// 或手動 JNDI Lookup
Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup("jdbc/db2");
Connection conn = ds.getConnection();

SQLJ 替代方案

DB2 通用驅動同步支援 SQLJ (嵌入式 SQL 標準),適用於靜態 SQL 多、需編譯期型別檢查的場景。sqlj 編譯器生成的 Profile 需 db2sqljcustomize 客製化後部署。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved