使用JDBC-ODBC操作Access数据

 

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

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

使用JDBC-ODBC操作Access数据_第1张图片

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

使用JDBC-ODBC操作Access数据_第2张图片

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

使用JDBC-ODBC操作Access数据_第3张图片

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

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

a)        配置ODBC数据源

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

使用JDBC-ODBC操作Access数据_第4张图片

2.然后选中ODBC数据源

使用JDBC-ODBC操作Access数据_第5张图片

3.在“系统DSN”中添加

使用JDBC-ODBC操作Access数据_第6张图片

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

使用JDBC-ODBC操作Access数据_第7张图片

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

使用JDBC-ODBC操作Access数据_第8张图片

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

使用JDBC-ODBC操作Access数据_第9张图片

b)        加载JDBC-ODBC驱动

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

使用JDBC-ODBC操作Access数据_第10张图片

JDK7版本的驱动类

使用JDBC-ODBC操作Access数据_第11张图片

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

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

使用JDBC-ODBC操作Access数据_第12张图片

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

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

你可能感兴趣的:(使用JDBC-ODBC操作Access数据)