[固定] 爪哇 .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异常。