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

Sheeraz Gul 2023년10월12일
Java.Lang.ClassNotFoundeException: Sun.Jdbc.Odbc.JdbcOdbcDriver

이 자습서는 Java의 java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver 오류를 보여줍니다.

Java에서 java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver 수정

Java와 함께 MS Access 데이터베이스를 사용하는 경우 java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver 오류가 발생할 수 있습니다. 이 오류는 Java 8 또는 JDK 1.8이 JDBC ODBC 브리지를 지원하지 않기 때문에 발생합니다.

따라서 Java 8 또는 JDK 1.8 또는 그 이후 버전을 사용하는 경우 java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver 오류가 발생할 가능성이 있습니다.

이 오류를 해결하기 위한 두 가지 솔루션이 있습니다. 하나는 Java를 7로 되돌리거나 1.8 이전의 JDK로 되돌리는 것이고 두 번째 솔루션은 UCanAccess jar를 사용하는 것입니다. 두 솔루션 모두 아래에 설명되어 있습니다.

8 및 1.8 버전 이전의 Java 또는 JDK로 되돌리기

JDBC ODBC 브리지를 사용하려면 이러한 드라이버만 지원되므로 Java 7 또는 이전 버전이 있어야 합니다. 이전 버전의 Java 또는 JDK로 되돌리려면 아래 단계를 따르십시오.

이클립스 사용:

  • 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 속성으로 이동합니다.
  • 자바 컴파일러로 이동합니다.
  • 프로젝트별 설정 활성화 상자를 선택합니다.
  • 이제 컴파일러 준수 수준에서 1.8 이전의 JDK 버전을 선택합니다.
  • 적용 후 닫기를 클릭합니다. JDK가 선택한 버전으로 되돌아갑니다.

Windows 또는 CMD 사용:

  • 이전 Java 버전을 제거하고 되돌린 버전을 설치해야 합니다.
  • 제어판으로 이동하여 프로그램을 추가하거나 제거합니다.
  • 자바를 제거합니다.
  • 여기에서 Java 7 또는 이전 버전을 다운로드합니다.
  • 설치 프로세스에 따라 설치하십시오.

이전 버전의 Java로 되돌린 후 java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver 오류가 해결됩니다.

UCanAccess 항아리 사용

UCanAccess jar는 Java와 Access 데이터베이스를 연결하는 데 사용됩니다. 아래 프로세스에 따라 UCanAccess jar를 추가하여 java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver 오류를 해결하십시오.

  • 여기에서 UCanAccess jar를 다운로드합니다.
  • 빌드 경로에 jar을 추가합니다.
  • Maven의 경우 pom.xml 파일에 다음과 같은 종속 항목이 추가됩니다.
<dependency>
    <groupId>net.sf.ucanaccess</groupId>
    <artifactId>ucanaccess</artifactId>
    <version>5.0.0</version>
</dependency>

UCanAccess jar가 빌드 경로에 추가되고 Maven 종속성이 설정되면 MS Access 데이터베이스에 연결할 수 있습니다. 예를 참조하십시오.

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

위의 코드는 제대로 작동하고 Demo.accdb라는 MS Access 데이터베이스에 연결됩니다. 출력 참조:

The Database is Connected successfully.

여기서 또 한 가지를 언급해야 합니다. 데이터베이스가 크면 XmxXms 매개변수를 언급하거나 메모리 매개변수를 false로 설정해야 합니다. 그렇지 않으면 오류가 발생합니다. 아래와 같이 메모리 매개변수를 false로 설정합니다.

String Database_URL = "jdbc:ucanaccess://C:\\Users\\Sheeraz\\Databases\\Demo.accdb";memory=false";
작가: Sheeraz Gul
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

관련 문장 - Java Exception