使用JDBC-ODBC操作Access数据

来源:互联网 发布:手机淘宝网页版登录 编辑:程序博客网 时间:2024/06/10 17:14

 

最近公司一个项目需要读取Access里面的数据,Java项目读取Access里面的数据有两种方法:

一、使用专用的JDBC驱动,目前网上有专用的驱动程序,下载地址为:http://www.hxtt.com/access.zip,包结构如下:


可以直接使用demo里的包进行测试,主要是加载驱动和url地址不同,其它和JDBC的方式一样,如图:


这个包的问题是需要Licnece,如果不使用Licence只能使用50次,每次查询只能查询1000条左右的数据,我测试过应该使用的多们线程,在1000条左右。


我试图反编译这个包,但文件经过处理,要修改太麻烦,所以就放弃了。

二、第二种方法就是使用JDBC-ODBC方式读取Access数据库,步骤大致有如下几步:

a)        配置ODBC数据源

1.配置方式是在控制面板中找到“管理工具”


2.然后选中ODBC数据源


3.在“系统DSN”中添加


4.在这没有Access数据驱动,通过网上的教程,需要在C:\Windows\SysWOW64下点击odbcad32启动后就能看到驱动,如下图


5.有几种驱动可以自己按需求选择


6.具体设置可以只设置名称和文件地址,也可设置用户名和密码


b)        加载JDBC-ODBC驱动

1.      加载驱动,JDBC-ODBC使用的驱为“sun.jdbc.odbc.JdbcOdbcDriver”,由于我使用的JDK8,JDK8已经在JDK包里去除了这个类,需要使用JDK7的版本。


JDK7版本的驱动类


2.      连接URL,网上很多使用的URL为jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=G://wdd.mdb,但开始连接时出现错误,直接使用配置的ODBC数据源名称后正常

后来在网上找到两者的区别,参考:http://blog.csdn.net/xinmashang/article/details/8316532

3.      JDBC连接,由于刚才配置的时候使用的32位配置,开始使用64位的JDK7进行测试出现以下错误:“在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配”,修改为32位jdk7后测试成功。

c)        使用JDBC操作,连接成功后就可直接使用JDBC进行操作,没有数据量限制,可以正常访问。

原创粉丝点击