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

DB2 JDBC 連線完整設定指南:驅動、URL、Schema 與常見錯誤排查

     編輯:DB2 教學

Schema 前綴規則

DB2 查詢預設使用連線使用者的 Schema。若表建立者為 LIXC,查詢者為 ADMIN:

-- 錯誤:SELECT * FROM testTable  → 實際查 ADMIN.TESTTABLE (不存在)
-- 正確:SELECT * FROM LIXC.testTable

或在連線後執行 SET SCHEMA LIXC。

驅動與類別路徑

  • 必須 Jar:db2jcc.jar、db2jcc_license_cu.jar(Java 8+ 可用 db2jcc4.jar)。
  • 放入:系統 CLASSPATH、應用伺服器 WEB-INF/lib、或 Maven/Gradle 依賴。

連線參數標準值

參數值
Driver Classcom.ibm.db2.jcc.DB2Driver
JDBC URLjdbc:db2://<host>:<port>/<database>:retrieveMessagesFromServerOnGetMessage=true;
預設埠50000
用戶/密碼資料庫認證帳號

範例:jdbc:db2://tdurden:50000/SAMPLE

常見錯誤與解決

  1. ClassNotFoundException: com.ibm.db2.jcc.DB2Driver
    原因:屬性檔 driverName 尾端含空白(如 com.ibm.db2.jcc.DB2Driver )。
    解決:修剪屬性值空白,或直接在程式碼 Class.forName("com.ibm.db2.jcc.DB2Driver")。
  2. SQL0204N: 表未定義
    原因:未指定 Schema。
    解決:SQL 明確加 Schema、或連線屬性 currentSchema=LIXC。
  3. 連線逾時
    檢查防火牆、DB2 SVCENAME、DB2COMM=TCPIP、services 檔案埠號對應。

連線池建議設定

# HikariCP 範例
jdbcUrl=jdbc:db2://host:50000/DBNAME
driverClassName=com.ibm.db2.jcc.DB2Driver
maximumPoolSize=20
minimumIdle=5
connectionTimeout=30000
idleTimeout=600000
maxLifetime=1800000
connectionInitSql=SET CURRENT SCHEMA = MYSCHEMA
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved