JDK1.8 用JDBC-ODBC桥连接access数据库(不切换jdk版本)

在myeclipse中使用access时,报错java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn = DriverManager.getConnection("jdbc:odbc:DatabaseOfFirst");

查资料发现自己的jdk版本(jdk1.8)不再内置jdbc-odbc桥,网上大多解决方法是换更低版本的JDK,觉得不能从根本上解决问题,于是自行导入Access JDBC Driver-jar解决问题。

1.检查当前JDK版本

window-preferences-Java-install jres
如果当前版本低于1.8,不建议采用如下方法。

2.查找合适Access的jdbc-driver

下载链接
网上大多数版本驱动都是SQL的,我自己试了老是不成功,读者可自行尝试。

3.导入jar到myeclipse

  1. 将下载完成之后的zip文件(我的是UCanAccess-4.0.4-bin)解压至指定文件夹(我放在自己的JDK/jre/bin/新建文件夹下,建议放在JDK目录)
  2. 回到myeclipse,右键项目目录,Build-Path – Configure Build Path – Java Build Path – add External JARS,选择并导入你刚刚解压之后的jar所在目录下(例如我的新建文件夹是DatabaseDriver2,路径就是D:\JDK\jre\lib\DatabaseDriver2\UCanAccess-4.0.4-bin)的所有jar文件(包括子目录下)。

4.修改代码如下(此处应各有不同,仅做参考)

Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");		//改动一
System.out.println("驱动加载完毕");
Connection conn = DriverManager.getConnection(UcanaccessDriver.URL_PREFIX + "E:/database/Database2.mdb" +";newDatabaseVersion=V2003"  );		//改动二:E:/database/Database2.mdb  是你自己数据库的绝对路径,newDatabaseVersion=V2003
//查询示例代码:
Statement stat = conn.createStatement();
stat.executeUpdate("INSERT INTO CELL1(id,Z,J) VALUES('2','佳','78')");		//CELL1为你自己的数据库的一个表名
stat.close();
conn.close();

总结:

  1. Access的jdbc驱动比较难找,我不知道为什么官网进不去,而网上很多下载链接不可用(呵呵,说了句废话)。
  2. 导入相应的jar之后,代码需要参照相应的Example进行改动,因为这并不是jdk1.8之前版本下的jar文件。
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值