Créer un fichier base de données Access (.mdb ou .accdb) à l'aide de Java

Actuellement, j'ai une application dans laquelle je suis en mesure d'accéder .mdb ou .accdb
fichier avec JdbcOdbcDriver pour ajouter des données.

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        con = DriverManager.getConnection("jdbc:odbc:MsAccessDSN");

mais dans ce, j'ai besoin de configurer un DSN Système. Nous avons besoin d'ajouter une nouvelle Source de Données (Microsoft Access Driver) et ensuite besoin de fournir de l'emplacement de l' .fichier mdb. Seulement alors le code ci-dessus fonctionne.

Supposons que je veux exécuter mon application sur d'autres système alors que je dois faire la même chose à l'ordinateur.
Si je donne mon application pour le client et qu'il/elle ne sais pas comment le configurer .fichier mdb. Puis tout mon effort de déchets.
Si un pilote est disponible par lequel j'ai créer .fichier mdb par mon Code Java, puis ajouter toutes les données dans la table de .fichier mdb.
Ou est-il un autre moyen, d'où le code Java peut créer .fichier mdb et en mesure d'accéder à ce fichier de base de données.

J'ai essayé ce code d'ajouter des données sans configuration Système DNS:

public class TestMsAccess {

private static Connection con;
private static Statement stm;
private static String tableName = "EmpDetail";
private static int id_is = 2;
private static String name_is = "Employee1";

public static void main(String[] args) throws ClassNotFoundException, SQLException {
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    con = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=D:\\MSAccessProject/Employee.mdb", "", "");

    stm = con.createStatement();
    //enter value into table
     String addRow = "INSERT INTO " + tableName  + " VALUES ( "
        + id_is + ", '" 
        + name_is + "')";
     stm.execute(addRow);

     if (con != null) { con.close(); }
     if (stm != null) { stm.close(); }
}

}

Mais le problème est que ce code ne pas créer .mdb fichier automatiquement mais quand j'en créer .mbd fichier et tableau avant d'exécuter ce code.

OriginalL'auteur Vinit Vikash | 2012-03-03