| 類型 | 名稱 | 架構特徵 | 部署需求 | 適用場景 |
|---|---|---|---|---|
| Type 1 | JDBC-ODBC Bridge | JDBC → ODBC → DB2 CLI | 需 ODBC 驅動 | IBM 未提供 |
| Type 2 | Native API | JDBC → Java Native Method → DB2 Client CLI | 需安裝 DB2 Client(含 db2jcct2.dll) | 本地應用、需 CLI 功能、效能敏感 |
| Type 3 | Net / Applet Driver | JDBC Client → DB2 JDBC Server (db2jd) | 中介伺服器 | Applet、防火牆內無 Client 環境 |
| Type 4 | Universal / Pure Java | 100% Java 直連 DB2(DRDA 協定) | 僅 db2jcc.jar + sqlj.zip | **首選**:跨平台、雲端、容器、無 Client 環境 |
db2jcc.jar — Type 2/3/4 共用核心sqlj.zip — SQLJ 支援sqllib/bin/db2jcct2.dll — 僅 Type 2 需要(Native 層)// Type 4 (JCC) - 成功
ee.testJcc();
// Type 3 (Net) - 成功
ee.testNet();
// Type 2 (App) - 失敗
// 原因:未安裝 DB2 Client。若要用 Type 2 連遠端 DB,需先 CATALOG 遠端節點/資料庫到本地。
遇到詭異連線錯誤(如 ClassNotFound、UnsatisfiedLinkError),優先嘗試切換 IBM 提供的 JDK 1.3 / 1.4,多數相容性問題可解。
Type 4 純 Java 驅動已成主流標配,部署簡單、跨平台、支援 SQLJ。僅在極少數需 CLI 原生功能或 Applet 環境時,才考慮 Type 2/3。建議專案統一標準化於 db2jcc.jar (Type 4),簡化依賴管理。