Java.Lang.ClassNotFoundeException: Sun.Jdbc.Odbc.JdbcOdbcDriver
Dieses Tutorial demonstriert den Fehler java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver
in Java.
java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver
in Java behoben
Wenn wir die MS Access-Datenbank mit Java verwenden, kann der Fehler java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver
auftreten. Dieser Fehler tritt auf, weil Java 8 oder JDK 1.8 die JDBC-ODBC-Bridge nicht unterstützt.
Wenn Sie also Java 8 oder JDK 1.8 oder die Versionen danach verwenden, wird wahrscheinlich der Fehler java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver
auftreten.
Es gibt zwei Lösungen, um diesen Fehler zu beheben, eine besteht darin, Java auf 7 oder JDK vor 1.8 zurückzusetzen, und die zweite Lösung besteht darin, die UCanAccess
jar
s zu verwenden. Beide Lösungen werden im Folgenden beschrieben.
Zurück zu Java oder JDK vor den Versionen 8 und 1.8
Um die JDBC-ODBC-Bridge zu verwenden, müssen Sie über Java 7 oder frühere Versionen verfügen, da nur diese Treiber unterstützt werden. Führen Sie die folgenden Schritte aus, um zu früheren Versionen von Java oder JDK zurückzukehren.
Verwenden von Eclipse:
-
Klicken Sie mit der rechten Maustaste auf das Projekt und gehen Sie zu
Eigenschaften
. -
Gehen Sie zu
Java Compiler
. -
Aktivieren Sie das Kontrollkästchen
Projektspezifische Einstellungen aktivieren
. -
Wählen Sie nun unter
Compiler compliance level
eine JDK-Version vor 1.8 aus. -
Klicken Sie auf
Übernehmen und schließen
. Das JDK wird auf die ausgewählte Version zurückgesetzt.
Mit Windows oder CMD:
-
Sie müssen die vorherige Java-Version entfernen und die zurückgesetzte Version installieren.
-
Gehen Sie zur
Systemsteuerung
und fügen Sie Programme hinzu oder entfernen Sie sie. -
Entfernen Sie Java.
-
Laden Sie Java 7 oder früher von hier herunter.
-
Installieren Sie, indem Sie dem Installationsprozess folgen.
Nach dem Zurücksetzen auf frühere Java-Versionen wird der Fehler java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver
behoben.
Verwenden Sie UCanAccess
-Jars
Die UCanAccess
-Jars werden verwendet, um die Verbindung zwischen Java und der Access-Datenbank herzustellen. Befolgen Sie den nachstehenden Prozess, um UCanAccess
-Jars hinzuzufügen, um den Fehler java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver
zu beheben.
-
Laden Sie die
UCanAccess
-Jars von hier herunter. -
Fügen Sie das
jar
zu Ihrem Erstellungspfad hinzu. -
Im Fall von Maven wird die folgende Abhängigkeit zur Datei
pom.xml
hinzugefügt.
<dependency>
<groupId>net.sf.ucanaccess</groupId>
<artifactId>ucanaccess</artifactId>
<version>5.0.0</version>
</dependency>
Sobald das UCanAccess
jar
zum Build-Pfad hinzugefügt und die Maven-Abhängigkeit eingestellt ist, können Sie sich mit der MS Access-Datenbank verbinden; siehe Beispiel.
package delftstack;
import java.sql.Connection;
import java.sql.DriverManager;
public class Example {
public static void main(String args[]) {
String Database_URL = "jdbc:ucanaccess://C:\\Users\\Sheeraz\\Databases\\Demo.accdb";
try {
// making connection
Connection Database_Connection = DriverManager.getConnection(Database_URL);
if (Database_Connection != null) {
System.out.println("The Database is Connected successfully.");
Database_Connection.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
Der obige Code funktioniert ordnungsgemäß und stellt eine Verbindung zur MS Access-Datenbank mit dem Namen Demo.accdb
her. Siehe Ausgabe:
The Database is Connected successfully.
Eine andere Sache sollte hier erwähnt werden; wenn die Datenbank groß ist, müssen wir auch die Parameter Xmx
und Xms
erwähnen oder den Speicherparameter auf false
setzen; Andernfalls wird der Fehler ausgegeben. Setzen Sie den Speicherparameter wie unten gezeigt auf false
.
String Database_URL = "jdbc:ucanaccess://C:\\Users\\Sheeraz\\Databases\\Demo.accdb";memory=false";
Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.
LinkedIn FacebookVerwandter Artikel - Java Exception
- Ausnahme bei ungültiger Eingabe in Java
- Ausnahme im Hauptthread Java.Util.NoSuchElementException: Keine Zeile gefunden
- Ausnahme im Thread AWT-EventQueue-0 java.lang.NullPointerException
- Beheben Sie die Java.Net.BindException: Adresse wird bereits verwendet: Bind
- Der Java-Gateway-Prozess wurde beendet, bevor seine Portnummer gesendet wurde
- Java Throwable vs. Ausnahmeklasse