Java 异常 Java.Lang.ClassNotFoundeException: Sun.Jdbc.Odbc.JdbcOdbcDriver
本篇文章介绍了 Java 中的 java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver 错误。
修复 Java 中的 java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver
当我们将 MS Access 数据库与 Java 一起使用时,可能会出现错误 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。
使用 Eclipse:
- 右键单击该项目并转到“属性”。
- 转到 Java 编译器。
- 选中启用项目特定设置框。
- 现在从编译器合规级别中选择 1.8 之前的 JDK 版本。
- 单击应用并关闭。 JDK 将恢复为所选版本。
使用 Windows 或 CMD:
- 您必须删除以前的 Java 版本并安装恢复后的版本。
- 转到控制面板并添加或删除程序。
- 删除Java。
- 从此处下载 Java 7 或更低版本。
- 按照安装过程进行安装。
恢复到以前版本的 Java 后,错误 java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver 将得到解决。
使用 UCanAccess Jars
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 jiyik;
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";
相关文章
Java 错误 Java.Security.InvalidKeyException: Illegal Key Size
发布时间:2023/07/15 浏览次数:98 分类:Java
-
本篇文章介绍包含 java.security.InvalidKeyException: Illegal key size 的 Java 代码。 然后,我们将了解其可能的原因。最后,它通过消除指定的错误来引导我们找到解决方案。
Java 错误 Java.SQL.SQLException: Access Denied for User Root@Localhost
发布时间:2023/07/15 浏览次数:71 分类:Java
-
本篇文章介绍如何解决 Java 中的 java.sql.SQLException: Access Denied for user 'root'@'localhost' 错误。修复 Java 中的 java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
Java 中 Re-Throw Exception 异常
发布时间:2023/07/15 浏览次数:61 分类:Java
-
在Java中,throw是最常用的关键字,用于抛出内置异常或用户定义的异常,但有时我们必须通过catch块抛出相同的异常。
使用 Java 连接 FTPS 服务器
发布时间:2023/07/14 浏览次数:76 分类:Java
-
安全文件传输协议 (FTPS) 是文件传输协议 (FTP) 的安全版本,它使用 SSL/TLS 加密来保护客户端和服务器之间传输的数据。 本文将介绍如何使用 Java 安全通道 (JSSE) API 连接到 Java 中的 FTPS 服务器。
使用 Java 创建 X.509 证书
发布时间:2023/07/14 浏览次数:107 分类:Java
-
X.509 是一种广泛使用的公钥基础设施 (PKI) 标准,用于保护和验证互联网上的交易。本文将教我们如何使用 Java 创建 X.509 证书。
Java 中错误 Unsupported Major Minor Version
发布时间:2023/07/14 浏览次数:68 分类:Java
-
出现 Unsupported Major.minor version 错误或 Java.lang.UnsupportedClassVersionError 的原因是运行时 JDK 较低,编译时 JDK 较高。 本篇文章介绍如何解决Java中不支持的major.minor版本。
Java 错误 Error:Java: Javactask: Source Release 1.8 Requires Target Release 1.8
发布时间:2023/07/14 浏览次数:200 分类:Java
-
在使用IntelliJ for Java时,无法编译Java程序是一个常见的问题。 本教程提供了此错误的解决方案。Error:Java: Javactask: Source Release 1.8 Requires Target Release 1.8 错误
解决 Java 异常 Unable to Instantiate org.apache.hadoop.hive.ql.metadata.Sessi
发布时间:2023/07/14 浏览次数:183 分类:Java
-
本篇文章介绍如何解决 java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient。Apache Hive 是一款开源数据仓库软件,用于读取、管理和写入存储在 Hadoop 文件中的大
Java 中 Could Not Find Java SE Runtime Environment 错误
发布时间:2023/07/14 浏览次数:149 分类:Java
-
当安装了运行时环境时,即 Java 找不到主 java.dll 文件时,可能会出现“Could not find Java SE Runtime Environment”错误。 本篇文章介绍如何解决 Java 中的“Could not find Java SE Runtime Environment”错误。