HOWTO · Java
Java.Lang.ClassNotFoundeException: Sun.Jdbc.Odbc.JdbcOdbcDriver
Dieses Tutorial demonstriert den Fehler java.lang.classnotfoundexception: sun.jdbc.odbc.jdbcodbcdriver in Java.
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 leveleine 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
Systemsteuerungund 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
jarzu Ihrem Erstellungspfad hinzu. -
Im Fall von Maven wird die folgende Abhängigkeit zur Datei
pom.xmlhinzugefü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";