java 如何连接access数据库使用odbc模式?

1.打开access,新建一个数据库(已经有数据库可以省略此步)

java ODBC如何配置Access数据库?_odbc

2.修改名字和路径

java ODBC如何配置Access数据库?_java odbc 连接access_02

3.新建表和字段,然后保存Ctrl+S

java ODBC如何配置Access数据库?_odbc连接access_03

4.录入数据库表里面数据,然后保存Ctrl+S

java ODBC如何配置Access数据库?_java odbc 连接access_04

5.进入管理工具

按下win键(或者点击​​开始​​),选择控制面板–>点击管理工具

java ODBC如何配置Access数据库?_access_05

6.配置数据源(ODBC)

java ODBC如何配置Access数据库?_access_06

java ODBC如何配置Access数据库?_odbc_07

如果出现下面这个错误,说明你的office和系统位数不匹配.有可能你​​安装了64位系统,office是32位​​的.

需要把所有32位office软件卸载完,再重新安装64位的

java ODBC如何配置Access数据库?_odbc连接access_08

​怎么看office是32位还是64位​

​怎么看windows系统是32位还是64位?​

​office2016专业增强版免费安装教程​

安装完成之后,需要安装以下驱动

然后再次进去即可

java ODBC如何配置Access数据库?_access_09
java ODBC如何配置Access数据库?_odbc_10

​​注意从JDK1.8开始就没有jdbc-odbc桥接了,所有建议使用JDK1.7及以下版本​​

7.java测试代码

package com.test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Properties;

public class DBConnection {
static Connection connect = null;
static PreparedStatement stmt = null;
static ResultSet rs = null;
/**
* 该方法用来连接数据库
* @param db:数据源名称
* */
private DBConnection(String db){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//注册驱动
//Access中的数据库默认编码为GBK,本地项目为UTF-8,若不转码会出现乱码
Properties p = new Properties();
p.put("charSet", "GBK");
//jdbc:odbc:driver={Microsoft Access Driver (.mdb, .accdb)};DBQ=g:\aaa1.mdb
//url 用户名 和密码,这里用户名和密码均为空
connect = DriverManager.getConnection("jdbc:odbc:"+db,p);
}catch(Exception e){
e.printStackTrace();
}
}

/**
* 该方法用来执行SQL并返回结果集
* */
public static ResultSet selectQuery(String db,String sql){
try{
stmt = getConnect(db).prepareStatement(sql);
rs = stmt.executeQuery();//执行SQL
}catch(Exception e){
e.printStackTrace();
}
return rs;
}

public static Connection getConnect(String db){
DBConnection conn = new DBConnection(db);
return connect;
}

/**
* 该方法用来关闭连接
* */
public static void closeConn() {
try {
rs.close();
stmt.close();
connect.close();
} catch (Exception e) {
e.printStackTrace();
}
}

/**
* 测试
* */
public static void main(String[] args){
try{
DBConnection connnect = new DBConnection("users");
if(connect!=null){
System.out.println(connect+"\n连接成功");
}else{
System.out.println("连接失败");
}
rs= selectQuery("users","select * from user_table");
if(rs!=null){
while(rs.next()){
System.out.println(rs.getString(1)+"\t"+rs.getString(2));
}
}
}catch(Exception e){
e.printStackTrace();
}finally{
closeConn();//关闭链接
}
}
}

运行成功

java ODBC如何配置Access数据库?_java odbc 连接access_11

这里的源代码参照https://1017401036.iteye.com/blog/2260786
感谢wjiaoling136