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

Sheeraz Gul 12 octubre 2023
Java.Lang.ClassNotFoundeException: Sun.Jdbc.Odbc.JdbcOdbcDriver

Este tutorial demuestra el error java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver en Java.

Arreglar java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver en Java

Cuando usamos la base de datos de MS Access con Java, puede ocurrir el error java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver. Este error se debe a que Java 8 o JDK 1.8 no admiten el puente JDBC ODBC.

Entonces, si está utilizando Java 8 o JDK 1.8 o las versiones posteriores, es probable que ocurra el error java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver.

Hay dos soluciones para solucionar este error, una es revertir Java a 7 o JDK anterior a 1.8, y la segunda solución es utilizar los jar UCanAccess. Ambas soluciones se describen a continuación.

Volver a Java o JDK antes de las versiones 8 y 1.8

Para usar el puente JDBC ODBC, debe tener Java 7 o versiones anteriores porque solo se admiten estos controladores. Siga los pasos a continuación para volver a las versiones anteriores de Java o JDK.

Usando Eclipse:

  • Haga clic derecho en el proyecto y vaya a Propiedades.
  • Vaya a Compilador de Java.
  • Marque la casilla Habilitar configuración específica del proyecto.
  • Ahora seleccione una versión de JDK anterior a la 1.8 desde Nivel de cumplimiento del compilador.
  • Haga clic en Aplicar y cerrar. El JDK se revierte a la versión seleccionada.

Usando Windows o CMD:

  • Debe eliminar la versión anterior de Java e instalar la revertida.
  • Vaya al Panel de control y agregue o elimine programas.
  • Quitar Java.
  • Descargue Java 7 o anterior desde aquí.
  • Instale siguiendo el proceso de instalación.

Tras volver a versiones anteriores de Java, se solucionará el error java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver.

Usar tarros UCanAccess

Los jars UCanAccess se utilizan para realizar la conexión entre Java y la base de datos de Access. Siga el proceso a continuación para agregar archivos jar UCanAccess para resolver el error java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver.

  • Descargue los frascos UCanAccess desde aquí.
  • Agregue el jar a su ruta de compilación.
  • En el caso de Maven, se agregará la siguiente dependencia al archivo pom.xml.
<dependency>
    <groupId>net.sf.ucanaccess</groupId>
    <artifactId>ucanaccess</artifactId>
    <version>5.0.0</version>
</dependency>

Una vez que se agrega el jar UCanAccess a la ruta de compilación y se establece la dependencia de Maven, puede conectarse a la base de datos de MS Access; ver el ejemplo.

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();
    }
  }
}

El código anterior funcionará correctamente y se conectará a la base de datos de MS Access denominada Demo.accdb. Ver salida:

The Database is Connected successfully.

Otra cosa debe mencionarse aquí; si la base de datos es grande, también debemos mencionar los parámetros Xmx y Xms o establecer el parámetro de memoria en false; de lo contrario, arrojará el error. Establezca el parámetro de memoria en false, como se muestra a continuación.

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

Artículo relacionado - Java Exception