首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java 連接 Access 資料庫的經典與現代做法

     編輯:Java 相關知識

前言

在早期的 Java 開發中,連接 Microsoft Access 資料庫常透過 JDBC-ODBC 橋接器(sun.jdbc.odbc.JdbcOdbcDriver)實現。雖然這種方式在 Java 8 以前可行,但 Oracle 已在 Java 8 中移除該驅動,現代專案建議改用 UCanAccess 等純 Java 驅動。本文將示範傳統寫法並說明遷移方向。

傳統 JDBC-ODBC 範例(僅供參考)

以下程式碼展示如何使用 JDBC-ODBC 橋接器直接連接 .mdb 檔案:

import java.sql.*;

public class AccessDemo {
    public static void main(String[] args) throws Exception {
        // JDBC-ODBC 連線字串
        String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=D:\\projects\\demo.mdb";
        
        // 載入驅動(Java 8 以前可用)
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        
        try (Connection conn = DriverManager.getConnection(url);
             Statement stmt = conn.createStatement();
             ResultSet rs = stmt.executeQuery("SELECT * FROM mcp_swty_player")) {
            
            while (rs.next()) {
                System.out.println(rs.getString("player_mobile"));
            }
        }
    }
}

關鍵點解析

  • 連線字串:DBQ 指定 Access 檔案完整路徑,雙反斜線需跳脫。
  • 驅動類別:sun.jdbc.odbc.JdbcOdbcDriver 屬於 JDK 內建,但已於 Java 8 移除。
  • 資源管理:範例使用 try-with-resources 自動關閉連線、Statement、ResultSet。

現代替代方案:UCanAccess

若專案運行於 Java 8 或更新版本,請採用 UCanAccess:

  1. 下載 ucanaccess-x.x.x.jar 及其依賴(jackcess、commons-lang、commons-logging、hsqldb)。
  2. 將 JAR 加入類別路徑。
  3. 修改連線字串與驅動:
String url = "jdbc:ucanaccess://D:/projects/demo.mdb";
Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
// 後續操作與標準 JDBC 相同

總結

JDBC-ODBC 橋接器屬於歷史產物,新專案請直接使用 UCanAccess,可支援 .mdb 與 .accdb 格式,且無需安裝 ODBC 驅動,跨平台相容性更佳。

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