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

JSP 連線 DB2 完整範例:DriverManager 註冊模式與資源釋放模板

     編輯:DB2 教學

關鍵差異:DB2 需顯式註冊 Driver 實例

Oracle/DB2 推薦 DriverManager.registerDriver(new COM.ibm.db2.jdbc.app.DB2Driver()),而非 Class.forName(),確保驅動正確載入並支援 Type 2 本地連線。

完整 JSP 範例(AIX 4.3 + DB2 7.2 + JDK 1.3 + Tomcat 4.1.6 驗證)

<%@ page session="false" import="java.sql.*,java.util.*" %>
<html><body>
<%
  String url = "jdbc:db2:ch";           // ch 為資料庫別名
  String user = "db2inst1";
  String password = "db2inst1";

  // 關鍵:顯式註冊驅動實例
  DriverManager.registerDriver(new COM.ibm.db2.jdbc.app.DB2Driver());

  Connection conn = null;
  try {
    conn = DriverManager.getConnection(url, user, password);
    Statement stmt = conn.createStatement();
    ResultSet rs = stmt.executeQuery("SELECT * FROM TASK");
%>
    <table border=1 cellspacing=1 cellpadding=0>
    <%
    while (rs.next()) {
%>
      <tr>
        <td><%=rs.getString(1)%></td>
        <td><%=rs.getString(2)%></td>
        <td><%=rs.getString(3)%></td>
        <td><%=rs.getString(4)%></td>
        <td><%=rs.getString(5)%></td>
        <td><%=rs.getString(6)%></td>
      </tr>
    <% } %>
    </table>
<%
  } catch (Exception e) {
    out.println("Error: " + e.getMessage());
  } finally {
    if (conn != null) try { conn.close(); } catch (Exception ignore) {}
  }
%>
</body></html>

資源管理鐵律

  1. ResultSet → Statement → Connection 逆序關閉
  2. 全部放入 finally 區塊,防洩漏
  3. 生產環境務必使用連線池(Tomcat DBCP / HikariCP),勿在 JSP 直連

常見錯誤與解決

錯誤原因解決
ClassNotFoundExceptiondb2java.zip/jcc.jar 未在 CLASSPATH放入 $CATALINA_HOME/lib 或 webapp WEB-INF/lib
SQL1042CDB2 實例未啟動或通訊埠錯誤db2start、檢查 SVCENAME/DB2COMM
中文亂碼JVM/DB/連線碼頁不一致設定 DB2CODEPAGE=1208 (UTF-8) 或一致碼頁
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved