Java 如何连接access数据库使用odbc模式
1.打开access,新建一个数据库(已经有数据库可以省略此步)
2.修改名字和路径
3.新建表和字段,然后保存Ctrl+S
4.录入数据库表里面数据,然后保存Ctrl+S
5.Win7 配置数据源(ODBC)
- 按下win键(或者点击
开始
),选择控制面板–>点击管理工具
如果出现下面这个错误,说明你的office和系统位数不匹配.有可能你安装了64位系统,office是32位
的.
需要把所有32位office软件卸载完,再重新安装64位的
怎么看office是32位还是64位
怎么看windows系统是32位还是64位?
安装完成之后,需要安装以下驱动
然后再次进去即可
6. Win10 配置数据源(ODBC)
Win+S 然后输入控制面板
点击管理工具
然后双击ODBC数据源(64位)
然后点击添加,选择后缀是mdb和accdb的进行创建
注意从JDK1.8开始就没有jdbc-odbc桥接了,所有建议使用JDK1.7及以下版本
如果想在JDK8 里面使用,请看:
https://blog.csdn.net/WeiHao0240/article/details/127944521
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();//关闭链接
}
}
}
- 运行成功
这里的源代码参照https://1017401036.iteye.com/blog/2260786
感谢wjiaoling136
8.如果出现ODBC Access Database 此用户DSN的驱动程序不存在,只能删除删除它
这个时候是因为你没有安装Access DataBase Engine,下载安装即可。