Connexion Access en debug sous netBeans

Résolu
xavallais Messages postés 15 Date d'inscription lundi 4 août 2003 Statut Membre Dernière intervention 26 janvier 2010 - 10 janv. 2010 à 18:04
mouradch99 Messages postés 1 Date d'inscription mercredi 1 décembre 2010 Statut Membre Dernière intervention 31 mars 2011 - 4 févr. 2011 à 16:57
Bonjour,
Je viens de passer un temps fou à récupérer des sources pour faire une connexion à une base de données Access en me disant "Ce n'est pas possible qu'aucun ne fonctionne quand même !" car j'avais toujours le message "[Microsoft][Gestionnaire de pilotes ODBC] Source de donn'es introuvable et nom de pilote non sp?cifi?" et puis j'ai créer le .jar de mon application et là ça fonctionne !
Je récapitule pour être sûr d'être bien compris : au final le source que j'ai récupéré pour faire une connexion à une base de donnée access est correct puisque lorsque je compile mon projet en .jar ça fonctionne. Mais quand je suis sous l'environnement netBeans et que je fais un Run du projet pour le tester j'ai le message "[Microsoft][Gestionnaire de pilotes ODBC] Source de donn'es introuvable et nom de pilote non sp?cifi?" qui s'affiche dans la console.
J'ai donc l'impression qu'il faut que je paramètre un truc sur netBeans ou que je mette ma base de données à un endroit bien précis pour que ça fonctionne...
Est-ce que quelqu'un qui utilise netBeans et qui s'y connait en connexion base de données pourrait m'aider s'il vous plait parce que là je sêche...
Je met le code que j'utilise même si celui-ci fonctionne une fois le .jar créé :

           String url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=bdClient.mdb";
   	   Connection con = null;
   	   try {
   	      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
   	      con = DriverManager.getConnection(url,"","");

     	      Statement requete = con.createStatement();

      	      requete.executeUpdate("insert into CLIENT(Nom, Prenom, Email, Password) VALUES ('unNom','unPrenom','unEmail','unPwd')");

       	   }


Quand à ma base de données elle est placée à la racine de mon projet dans l'arborescence du projet netBeans, mais j'ai essayé de la copier dans tous les répertoires et sous-répertoires de netBeans sans que ça ne chanque quoi que ce soit
Ci-dessous une photo de mon arborescence quand même :

4 réponses

xavallais Messages postés 15 Date d'inscription lundi 4 août 2003 Statut Membre Dernière intervention 26 janvier 2010
26 janv. 2010 à 20:55
Une fois compris mon erreur précédent (quelle bizarrerie aussi d'appeler syswow64 un répertoire contenant l'odbcad32 permettant de voir les ODBC 32 et non 64 aussi...) !
Bref, même si j'ai un windows 7 64 bits, j'ai installé en plus de mon jre 64 bits et de mon jdk 64 bits un jre 32 bits et un jdk 32 bits. Ensuite sur la version 32 bits d'eclypse j'ai fait :
- en passant par le "run configurations" / onglet jre, j'ai choisi alternate jre et cliqué sur le bouton installed jre
- là j'ai cliqué sur le jdk que j'avais (le 64 bits) et j'ai cliqué sur le bouton Edit
- puis j'ai modifié le chemin du jdk 64 bit : C:\Program Files\Java\jdk1.6.0_18
par celui du 32 bits : C:\Program Files (x86)\Java\jdk1.6.0_18

Et là ça marche ! PFIOU...
3
xavallais Messages postés 15 Date d'inscription lundi 4 août 2003 Statut Membre Dernière intervention 26 janvier 2010
26 janv. 2010 à 19:03
Bon, j'ai essayé sur la machine d'un copain et tout fonctionne très bien alors qu'il a juste netBeans d'installé comme moi... Visiblement, après quelques recherches le problème viendrait que je suis sous windows 7 et surtout en 64 bits...
Mais bon je ne comprend pas, mon jre est bien en 64 bits, mon jdk est bien en 64 bits et mon Netbeans est installé dans le répertoire 'Program Files' et non dans le répertoire 'Program Files (x86)' donc à priori c'est du 64 bits également. Pour être sûr que le problème ne vienne pas de netBeans, j'ai essayé avec un eclipse 64 bits et j'ai le même résultat : ERROR [IM002] [Microsoft][Gestionnaire de pilotes ODBC] Source de données introuvable et nom de pilote non spécifié !
A priori, d'après mes recherches sur internet, le problème vient que lorsqu'on est en 64 bits et qu'on regarde dans l'administrateur de sources de données ODBC on ne voit pas les pilotes ODBC 64 bits et que pour ça il faut ouvrir l'administrateur de sources de données sans passer par le panneau de configuration mais en passant par : c:\windows\syswow64\odbcad32.exe. Là en effet je vois bien mes pilotes.
Mais comment dire à Java de rechercher le pilote dans
c:\windows\syswow64\odbcad32.exe au lieu de celui par défaut
(C:\Windows\System32\odbcad32.exe) ?

Donc je récapitule :
1-Mon code de connexion à une base de donnée Access fonctionne sur des machine qui ne sont pas en 64 bits
2-Le .jar fonctionne sur toute les machines
3- J'ai un jre, un jdk, un netbeans et un eclipse : tous en 64 bits
4-Que ce soit sur netbeans ou eclipse j'obtient l'erreur : ERROR [IM002] [Microsoft][Gestionnaire de pilotes ODBC] Source de données introuvable et nom de pilote non spécifié
5-A priori pour voir les sources de données ODBC 64 bits il faut passer par l'administrateur de données sources du répertoire syswow64 (c:\windows\syswow64\odbcad32.exe) au lieu de celui du répertoire System32 qui est celui par défaut (C:\Windows\System32\odbcad32.exe)

Donc ma question est : Est-ce que quelqu'un a réussi à faire une connection à une base access sur un windows 7 en 64 bits (le problème existait déjà sur vista 64 bits si j'ai bien compris tout ce que j'ai lu sur le net...) ? Et si oui quelle est l'astuce ?

Merci à ceux qui pourront m'aider ;)
0
xavallais Messages postés 15 Date d'inscription lundi 4 août 2003 Statut Membre Dernière intervention 26 janvier 2010
26 janv. 2010 à 20:20
Oh.... à priori j'aurai compris de travers...
c:\windows\syswow64\odbcad32.exe donnerait les drivers 32 bits et non les 64 bits ; ce qui signifie que j'ai tout qui marche en 64 bits, mais que access 2007 n'a pas de drivers 64 bits ! Arg!
J'espère qu'il y a une solution...
0
mouradch99 Messages postés 1 Date d'inscription mercredi 1 décembre 2010 Statut Membre Dernière intervention 31 mars 2011
4 févr. 2011 à 16:57
merci mon ami xavallais excellent réponse
0
Rejoignez-nous