爪哇 2博客
  爪哇 2博客

[固定] 爪哇 .lang.classnotFoundException:sun.jdbc.odbc.jdbcodbcdriver

在本文中,我们将看到如何解决java.lang.classnotfoundexception:sun.jdbc.odbc.jdbcodbcdriver 例外 在Java中。

问题:java.lang.classnotFoundException:sun.jdbc.odbc.jdbcodbcdriver

这种观念进来 爪哇 8 because sun.jdbc.odbc.jdbcodbcdriver has been removed from JDK and JRE. This 类 is used to 骗局 nect database using Object database 骗局 nectivity driver such as Microsoft access.

由于Java 8不支持jdbc odbc桥,因此您需要使用其他替代解决方案来解决此问题。

解决方案1:使用UCanAccess罐

You can use UCanAccess jars to resolve this issue.

这是您可以放入pom.xml中的依赖项。

1
2
3
4
5
6
7
 
< 依赖 >
    < groupId >. 科幻 . ucanaccess </ groupId >
    < artifactId > ucanaccess </ artifactId >
    <>5.0.0</>
</ 依赖 >
 

Maven将为您添加所有其他必需的依赖项。

这是使用UCanAccess库进行连接的示例代码。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
组织 . Arpit . 爪哇 2blog ;
 
进口 爪哇 . sql . 连接 ;
进口 爪哇 . sql .驱动程序管理器;
 
上市 MSAccess使用UCanAccess {
     上市 静态的 虚空 主要( args []){
 
         讨论 = “ jdbc:ucanaccess:// C:\\ Users \\ Arpit \\ Databases \\ Employee.accdb”;
 
         尝试 {  
                //获得连接
                 连接 骗局 = 驱动程序管理器.getConnection ( 讨论 );
 
                 如果 ( 骗局 != 空值 ){
                     系统 .. 打印 (“连接成功”);
                     骗局 .();
                }
 
        } 抓住 ( 例外 e) {
            e.printStackTrace();
        }
    }
}
 

请注意,如果您使用大型数据库并使用默认内存设置,建议使用xmx和xms参数分配足够的内存,否则必须设置驱动器’的memory属性设置为false,如下所示

1
2
3
 
讨论 = “ jdbc:ucanaccess:// C:\\ Users \\ Arpit \\ Databases \\ Employee.accdb; memory = false”;
 

解决方案2:将Java版本还原到7或更低版​​本

如果您没有使用Java 8的功能,则可以将Java版本还原为7,它将正常工作。

那’关于如何解决java.lang.classnotfoundexception的所有内容:java中的sun.jdbc.odbc.jdbcodbcdriver异常。

分享这个

作者

关注作者

相关文章

发表评论

您的电子邮件地址不会被公开。 必需的地方已做标记 *

订阅我们的新闻

获取质量教程到您的收件箱。现在订阅。


成为朋友

©2020 爪哇 2博客