HOWTO · Java
Java.Lang.ClassNotFoundeException: Sun.Jdbc.Odbc.JdbcOdbcDriver
이 자습서는 Java의 java.lang.classnotfoundexception: 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 오류를 해결하십시오.
-
여기에서
UCanAccessjar를 다운로드합니다. -
빌드 경로에
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.
여기서 또 한 가지를 언급해야 합니다. 데이터베이스가 크면 Xmx 및 Xms 매개변수를 언급하거나 메모리 매개변수를 false로 설정해야 합니다. 그렇지 않으면 오류가 발생합니다. 아래와 같이 메모리 매개변수를 false로 설정합니다.
String Database_URL = "jdbc:ucanaccess://C:\\Users\\Sheeraz\\Databases\\Demo.accdb";memory=false";