Java 鏈接Access

Java 鏈接Access

第一次使用鏈接Access數據庫, 記錄一下遇到的坑
Access驅動下載地址 http://pan.baidu.com/s/1o8ltTfcjava

不使用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結尾的就鏈接不了sql

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" />-->

不然會報以下錯誤windows

[Microsoft][ODBC Microsoft Access Driver]可選的功能未實現
相關文章
相關標籤/搜索