zoukankan      html  css  js  c++  java
  • Java 连接Access

    Java 连接Access

    第一次使用连接Access数据库, 记录一下遇到的坑
    Access驱动下载地址 http://pan.baidu.com/s/1o8ltTfc

    不使用WINDOW的建立数据源方法,直接在Java代码内部与Access数据库连接

    public void ConnectAccessFile() throws Exception
    {
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        /**
         * 直接连接access文件。dburl需要与windows安装大驱动名字一样,如下图
         */
        String dbur1 = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=/Users/dawn/Downloads/mpcy.mdb";
        Connection conn = DriverManager.getConnection(dbur1, "xhjxjf168", "xhjxjf168");
        Statement stmt = conn.createStatement();
        ResultSet rs = stmt.executeQuery("select * from admin001");
        while (rs.next()) {
            System.out.println(rs.getString(1));
        }
        rs.close();
        stmt.close();
        conn.close();
    }
    

    windows建立数据源连接

    public void ConnectAccessDataSource()throws Exception {
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        /**
         * 采用ODBC连接方式 如何建立ODBC连接?
         * 答:在windows下,【开始】->【控制面板】->【管理工具】->【数据源(ODBC)】,在数据源这里添加一个指向 dataS1.mdb 文件的数据源。
         * 比如创建名字为 dataS1
         */
        String dbur1 = "jdbc:odbc:dataS1";// 此为ODBC连接方式
        Connection conn = DriverManager.getConnection(dbur1, "username", "password");
        Statement stmt = conn.createStatement();
        ResultSet rs = stmt.executeQuery("select * from Table1");
        while (rs.next()) {
            System.out.println(rs.getString(1));
        }
        rs.close();
        stmt.close();
        conn.close();
    }
    

    使用Access_JDBC30.jar,不使用windows驱动连接

    注意:不使用Windows驱动无法连接非mdb结尾的Access库,比如数据库文件为dat结尾的就连接不了

    public void macConnect() throws Exception {
        Class.forName("com.hxtt.sql.access.AccessDriver").newInstance();
    
        // 指定Access数据库文件的位置
        String url = "jdbc:Access:/·///Users/dawn/Downloads/mpcy0.dat";
        Connection conn = DriverManager.getConnection(url, "xhjxjf168", "xhjxjf168");
        Statement stmt = conn.createStatement();
        ResultSet rs = stmt.executeQuery("select * from admin001");
        //ResultSet rs = stmt.executeQuery("SELECT   * FROM   MSysObjects WHERE   Flags=0   AND   Type=1");
        while (rs.next()) {
            System.out.println(rs.getString(1));
        }
        rs.close();
        stmt.close();
        conn.close();
    }
    

    MyBatis连接Access

    jdk8 中已经去除了sun.jdbc.odbc.JdbcOdbcDriver, 所以会导致 myBatis 连不了
    注意配置文件以下设置需去除(参考地址 https://my.oschina.net/xuyang77/blog/11390)

    <!--<setting name="defaultStatementTimeout" value="1" />-->
    

    否则会报如下错误

    [Microsoft][ODBC Microsoft Access Driver]可选的功能未实现
  • 相关阅读:
    数据处理之求和语句,retain语句
    Day1 Excel基本知识
    Day6 数据清洗(2)
    Day5 数据的清洗
    Day5 快速输入数据的方法(2)
    Day5 快速输入数据的方法
    Day4 利用小技巧进行快速数据处理
    Day3 Excel与数据分析之小技巧
    Day2 Excel与数据处理之定位条件、选择性粘贴及查找功能
    day5:python学习之集合
  • 原文地址:https://www.cnblogs.com/dawnheaven/p/6868072.html
Copyright © 2011-2022 走看看