java ODBC如何配置Access数据库?

版权声明:Jack魏 版权所有,欢迎转载 [如有雷同,请联系作者!]. https://blog.csdn.net/WeiHao0240/article/details/86285822

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

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

新建数据库

2.修改名字和路径

在这里插入图片描述

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

在这里插入图片描述

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

录入数据

5.进入管理工具

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

打开管理工具

6.配置数据源(ODBC)

打开数据源(ODBC)

打开配置

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

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

错误!!

怎么看office是32位还是64位

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

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

然后再次进去即可

在这里插入图片描述
步骤

注意从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();//关闭链接
        }
    }
}
  • 运行成功

在这里插入图片描述

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

猜你喜欢

转载自blog.csdn.net/WeiHao0240/article/details/86285822