使用JDBC-ODBC操作Access数据
2017-07-25 12:52
267 查看
最近公司一个项目需要读取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进行操作,没有数据量限制,可以正常访问。
相关文章推荐
- 使用JDBC-ODBC操作Access数据
- 使用JDBC-ODBC操作Access数据
- 使用JDBC-ODBC操作Access数据
- 使用JDBC-ODBC操作Access数据
- 使用JDBC-ODBC操作Access数据
- 使用JDBC-ODBC操作Access数据
- 使用JDBC-ODBC操作Access数据
- 使用JDBC-ODBC操作Access数据
- 使用JDBC-ODBC操作Access数据
- 使用JDBC-ODBC操作Access数据
- 使用JDBC-ODBC操作Access数据
- 使用JDBC-ODBC操作Access数据
- 不用JDBC:ODBC bridge直接操作Access 数据库
- 不用JDBC:ODBC bridge直接操作Access 数据库
- C#使用OleDB操作ACCESS插入数据时提示:参数 @p_Contract 没有默认值
- Struts2 Spring3 集合 使用springjdbc操作数据(一)
- C#使用OleDB操作ACCESS插入数据时提示:至少一个参数没有被指定值。
- java 演示使用jdbc-odbc桥连接的方式操作数据库 向数据库中添加数据
- C#使用OleDB操作ACCESS插入数据时提示:标准表达式中数据类型不匹配。
- [Sqlite]-->Java使用jdbc连接Sqlite数据库进行各种数据操作的详细过程