Java.Lang.ClassNotFoundeException: Sun.Jdbc.Odbc.JdbcOdbcDriver

Sheeraz Gul 12 Oktober 2023
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 Gul avatar Sheeraz Gul avatar

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 Facebook

Verwandter Artikel - Java Exception