Java ODBC如何配置Access数据库?_此用户dsn的驱动程序不存在,只能删除它-CSDN博客

Java ODBC如何配置Access数据库?

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

新建数据库

2.修改名字和路径

在这里插入图片描述

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

在这里插入图片描述

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

录入数据

5.Win7 配置数据源(ODBC)

  • 按下win键(或者点击开始),选择控制面板–>点击管理工具
    打开管理工具
    打开数据源(ODBC)

打开配置
如果出现下面这个错误,说明你的office和系统位数不匹配.有可能你安装了64位系统,office是32位的.
需要把所有32位office软件卸载完,再重新安装64位的
错误!!
怎么看office是32位还是64位
怎么看windows系统是32位还是64位?

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

然后再次进去即可
在这里插入图片描述
步骤

6. Win10 配置数据源(ODBC)

Win+S 然后输入控制面板

在这里插入图片描述
点击管理工具
在这里插入图片描述
然后双击ODBC数据源(64位)
在这里插入图片描述
然后点击添加,选择后缀是mdbaccdb的进行创建
在这里插入图片描述
在这里插入图片描述

注意从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,下载安装即可。

https://download.microsoft.com/download/3/5/C/35C84C36-661A-44E6-9324-8786B8DBE231/accessdatabaseengine_X64.exe
在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jack魏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值