Create an Access database file (.mdb or .accdb) using Java

后端 未结 5 653
走了就别回头了
走了就别回头了 2020-12-06 07:02

Currently I have one application in which I am able to access .mdb or .accdb file with JdbcOdbcDriver to append some data.

Class.forName(\"sun.jdbc.odbc.Jdb         


        
5条回答
  •  眼角桃花
    2020-12-06 07:59

    Now that the JDBC-ODBC Bridge has been removed from Java (as of Java 8), future readers might be interested in UCanAccess, a free and open-source pure Java JDBC driver for Access databases. UCanAccess includes a newdatabaseversion connection parameter that will create the Access .accdb or .mdb file if it does not already exist.

    Sample code:

    String dbFileSpec = "C:/Users/Gord/Desktop/myDb.accdb";
    try (Connection conn = DriverManager.getConnection(
            "jdbc:ucanaccess://" + dbFileSpec + 
            ";newdatabaseversion=V2010")) {
        DatabaseMetaData dmd = conn.getMetaData();
        try (ResultSet rs = dmd.getTables(null, null, "Clients", new String[] { "TABLE" })) {
            if (rs.next()) {
                System.out.println("Table [Clients] already exists.");
            } else {
                System.out.println("Table [Clients] does not exist.");
                try (Statement s = conn.createStatement()) {
                    s.executeUpdate("CREATE TABLE Clients (ID COUNTER PRIMARY KEY, LastName TEXT(100))");
                    System.out.println("Table [Clients] created.");
                }
            }
        }
        conn.close();
    }
    

    For details on how to set up UCanAccess see

    Manipulating an Access database from Java without ODBC

提交回复
热议问题