Heim >Java >javaLernprogramm >Java „ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver': Warum und wie kann man es beheben?

Java „ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver': Warum und wie kann man es beheben?

Barbara Streisand
Barbara StreisandOriginal
2024-12-03 09:13:13873Durchsuche

Java `ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver`: Why and How to Fix It?

java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver Ausnahme tritt auf: Warum?

Beim Versuch, über einen DSN in Java eine Verbindung zu einer MS Access-Datenbank herzustellen Eine häufig auftretende Ausnahme ist java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver. Dieses Problem tritt aus mehreren Gründen auf.

Ursache: Fehlende JDBC-ODBC-Treiberklasse im Klassenpfad

Die ClassNotFoundException wird normalerweise ausgelöst, wenn die Java Virtual Machine (JVM) die angegebene Klasse nicht finden kann In diesem Fall der sun.jdbc.odbc.JdbcOdbcDriver. Um dieses Problem zu beheben, stellen Sie sicher, dass die JAR-Datei des JDBC-ODBC-Treibers im Klassenpfad Ihrer Anwendung enthalten ist.

Veralteter Treiber für Java 8 und höher

Für Java 8 und höher ist die JDBC -ODBC Bridge wurde veraltet und entfernt. Daher führt der Versuch, die Class.forName()-Anweisung für sun.jdbc.odbc.JdbcOdbcDriver zu verwenden, zu der oben genannten Ausnahme.

Lösung: Update für Java 8 und höher

Für Java Ab Version 8 wird für die Verbindung mit Access-Datenbanken die Verwendung alternativer JDBC-Treiber wie UCanAccess empfohlen. Hier ist ein aktualisierter Codeausschnitt mit 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
}

Das obige ist der detaillierte Inhalt vonJava „ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver': Warum und wie kann man es beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn