環境資訊
- 資料庫:DB2 UDB v7.2
- 作業系統:AIX 4.3.3
伺服器端設定步驟
- 關閉 Web 伺服器服務
- 停止 JDBC 偵聽進程
db2jd (預設埠 6789)
ps -ef | grep db2jd # 查詢進程號
kill -9 <進程號> # 強制停止
- 進入
/usr/lpp/db2_07_01/java12 目錄,執行 ./usejdbc2 啟用 JDBC 2.0
- 複製
db2java.zip 至專案 WEB-INF/lib/,Tomcat 環境改名為 db2java.jar
- 切換至資料庫實例用戶啟動偵聽:
su - <db2inst1>
db2jstrt 6789 # 6789 為 JDBC 偵聽埠,可自訂
JSP 測試程式碼
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" %>
<html><body>
以下是從 DB2 讀取的資料:<hr>
<table border="1">
<%
Class.forName("COM.ibm.db2.jdbc.net.DB2Driver").newInstance();
Connection con = DriverManager.getConnection(
"jdbc:db2://192.168.168.2:6789/chaodb", "db2inst1", "mima");
Statement stmt = con.createStatement();
ResultSet rst = stmt.executeQuery("select username from tname");
while (rst.next()) {
%>
<tr><td><%=rst.getString("username")%></td></tr>
<%
}
// 關閉資源
rst.close(); stmt.close(); con.close();
%>
</table>
</body></html>
連接參數說明
| 參數 | 說明 | 範例 |
| IP | DB2 伺服器位址 | 192.168.168.2 |
| Port | JDBC 偵聽埠 | 6789 (預設) |
| Database | 資料庫名稱 | chaodb |
| User | 實例用戶 | db2inst1 |
| Password | 用戶密碼 | mima |
注意事項
- JDBC 驅動類別:
COM.ibm.db2.jdbc.net.DB2Driver (Type 4 驅動)
- 埠號需與伺服器端
db2jstrt 參數一致
- 測試前確認資料庫已建立表
tname 並有 username 欄位資料
- 資源關閉順序:ResultSet → Statement → Connection
- 生產環境建議使用連接池 (DBCP、HikariCP) 管理連接