Comment se connecter à MS Access DB à l'aide de Java + ODBC sous Windows 7
Je googleed cette question beaucoup de choses, et les réponses sont incohérentes et aucun aidé. J'ai donc pensé que je pourrais obtenir un peu plus d'aide ici.
J'ai besoin de coder une petite application en Java pour mon prochain cours qui récupère les données d'une base de données MS Access(mdb) à l'aide de ODBC. Mon OS est Windows 7 Ultimate 64bits. Je sais qu'il est un odbcad32 dans SysWOW64.
J'ai réussi à configurer un DSN là. Mais je ne peux pas me connecter. L'application déclenche une Exception SQL. Essayé les deux solutions de rechange pour DriverManager.getConnection():
jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBH=E:/DB.mdb
et
jdbc:odbc:DSN_NAME
Le pilote est:
sun.jdbc.odbc.JdbcOdbcDriver
[MODIFIER]
Le code de connexion est essentiellement le suivant:
try {
Class.forName(driver);
db = DriverManager.getConnection(url);
}
catch(SQLException e) {
System.out.println("SQL error!");
}
catch(ClassNotFoundException e) {
System.out.println("Class not found!");
}
[/EDIT]
Et ne fonctionne pas. Je ne sais pas comment résoudre le problème car je ne sais pas où se trouve le problème! Si c'est le pilote ODBC ou Java, ou quoi que ce soit.
C'est trop gênant pour utiliser un virtual WinXP pour faire le travail. Cela ne peut pas durer éternellement.
[EDIT2]
Juste pour être sûr: il fonctionne sur WinXP, comme implicited. :}
[/EDIT2]
J'apprécie beaucoup toute l'aide que j'ai pu obtenir ici. :DDDDD
- Pas sûr de ce genre de vous aider à attendre. Les bits aléatoires de pseudo-code que vous avez posté paraître raisonnable, mais vous n'avez pas posté votre SSCCE (sscce.org) montrant la véritable démo de code. Vous n'avez pas dit ce que la SQLException est. Donc, nous avons peu d'éléments.
- Édité. J'espère que c'est assez pour aller sur maintenant. 😀
- Me semble que si vous avez Googlé et trouvé des réponses insatisfaisantes, il serait logique d'inclure certaines de ces réponses et expliquer pourquoi ils n'ont pas de résoudre votre problème.
- Je serais heureux de vous fournir tous les détails dont vous avez besoin, M. Fenton. 8D me Semblait que mon problème était d'une commune, même sans un bon "googleable" solution, j'ai donc pensé à tout programmeur Java expérimenté peut facilement identifier la source du problème. C'est pourquoi je n'ai pas polluer la question.
Vous devez vous connecter pour publier un commentaire.
De sorte que vous puisque vous avez déjà le programme d'installation ODBC, vous pouvez aussi assurez-vous d'utiliser la même 64 bits pilote odbc (si vous avez créé votre connexion odbc sous %WINDIR%\System32\odbcad32.exe). Je sais pour un fait qu'il n'existe pas de pilote 64 bits pour access 2007 donc dans mon cas, j'ai dû créer une connexion odbc 32 bits(%WINDIR%\SysWOW64\odbcad32.exe), downgrade ma version de java à 32 bits et 32 bits pilote pour le faire fonctionner.
Espérons que cette aide!