Bonjour,
J'utilise le code suivant pour accéder à Access sans passer par la création d'un lien ODBC:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            String filename = "d:/java/mdbTEST.mdb";
            String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=";
            database+= filename.trim() + ";DriverID=22;READONLY=true}"; // add on to the end 
            Connection con = DriverManager.getConnection( database ,"","");
Ceci fonctionnait parfaitement.
Mais voici le pbm: la base Access attaquée est protégée par un mot de passe.
Ce mot de passe ne me semble lié à aucun utilisateur.
Pour le définir dans Access il suffit d'aller vers: Outils>Sécurité>Définir le mot de passe de la base de données

Ce qui est différent de la gestion des utilisateurs et des groupes.

Mon problème est que si un mot de passe de base de données est défini alors le code précédent me ramène une exception qui me dit que le mot de passe est incorrect.
Je l'ai modifié comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            String filename = "d:/java/mdbTEST.mdb";
            String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=";
            database+= filename.trim() + ";DriverID=22;READONLY=true}"; // add on to the end 
            Connection con = DriverManager.getConnection( database ,"Admin","MyPassword");
Mais ça ne marche toujours pas, je ne sais pas si c'est le nom d'utilisateur "Admin" qui est faux.
Quelqu'un a déjà travaillé là-dessus?