微软的 Access在 JDK1.8 上无法适用,还有的教程需要修改系统上的 ODBC 数据资源管理程序,实在是太繁琐,于是自行 Google 了一把,找到了如上的良心教程。
JDK1.8 是无法直接连接微软的 Access 数据库的,Java 从 JDK1.6 之后就移除了Access 桥接驱动,因此不再支持 jdbc:odbc 桥接方式。
而上面教程中的 UCanAcsess 免费开源,下载地址为:https://sourceforge.net/projects/ucanaccess/files/。这里选择下载:UCanAccess-4.0.3-bin.zip。解压之后得到我们需要的五个文件如下:
前 4 个文件在:UCanAccess-4.0.3-bin\bin\ 目录下,最后一个文件在:UCanAccess-4.0.3-bin\ 目录下。然后在Eclipse 中将这 5 个文件添加到 Java 项目中。具体做法为:右击创建的 Access 连接项目–>Build Path–>Configure Build Path–>Libraries–>Add External JARs。
教程的源代码:
package com.Acess;
import java.sql.*;
public class Acess {
public static void main(String[] args) throws Exception {
//变量
Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;
//注册驱动
try {
Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
} catch (ClassNotFoundException cnfex) {
System.out.println("Problem in loading MS Access JDBC driver");
cnfex.printStackTrace();
}
//
try {
String accessPath= "[access路径]";
String URL = "jdbc:ucanaccess://" + accPath;
//获取连接
connection = DriverManager.getConnection(URL);
//获取执行对象
statement = connection.createStatement();
//执行sql
resultSet = statement.executeQuery("select * from XXXXX")
}
catch (SQLException sqlex) {
sqlex.printStackTrace();
}
finally {
//关闭资源
try {
if(null != connection) {
resultSet.close();
statement.close();
connection.close();
}
} catch (SQLException sqlex) {
sqlex.printStackTrace();
}
}
}
}
当然也可以使用maven ,依赖如下:
<dependency>
<groupId>net.sf.ucanaccess</groupId>
<artifactId>ucanaccess</artifactId>
<version>4.0.3</version>
</dependency>