嘗試使用 Java 中的 DSN 連接到 MS Access 資料庫時,常見的例外是java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver。出現此問題的原因有很多。
當 Java 虛擬機器 (JVM) 找不到指定的類別時,通常會拋出 ClassNotFoundException。在這種情況下,sun.jdbc.odbc.JdbcOdbcDriver。若要解決此問題,請確保 JDBC-ODBC 驅動程式 JAR 檔案包含在應用程式的類別路徑中。
對於 Java 8 及更高版本,JDBC -ODBC Bridge 已被棄用並刪除。因此,嘗試對 sun.jdbc.odbc.JdbcOdbcDriver 使用 Class.forName() 語句將導致上述例外。
對於 Java在版本 8 及更高版本中,連接 Access 資料庫的建議方法是透過取代 JDBC 驅動程式(例如 UCanAccess)。以下是使用 UCanAccess 的更新程式碼片段:
import net.ucanaccess.jdbc.UcanaccessDriver; // ... try { Class.forName("net.ucanaccess.jdbc.UcanaccessDriver"); // for MS Access with UCanAccess driver String conURL = "jdbc:ucanaccess://path/to/database.mdb"; Connection con = DriverManager.getConnection(conURL); // ... } catch (ClassNotFoundException ex) { // Handle exception }
以上是Java `ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver`:為什麼以及如何修復它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!