2010-11-20 6 views
-1

J'ai longuement répondu à cette question et les réponses sont incohérentes et aucune ne m'a aidé. J'ai donc pensé que je pouvais obtenir un peu plus d'aide ici. J'ai besoin de coder une petite application en Java pour ma prochaine classe qui obtient des données à partir d'une base de données MS Access (mdb) en utilisant ODBC. Mon système d'exploitation est Windows 7 Ultimate 64bits. Je sais qu'il y a un odbcad32 dans le dossier SysWOW64. J'ai réussi à mettre en place un DSN là. Mais je ne peux pas me connecter. L'application lève une exception SQL. Essayé deux alternatives pour DriverManager.getConnection():Comment se connecter à MS Access DB en utilisant Java + ODBC sous Windows 7

jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBH=E:/DB.mdb 

et

jdbc:odbc:DSN_NAME 

Le pilote est:

sun.jdbc.odbc.JdbcOdbcDriver 

[EDIT]

Le code de connexion est basique allier les éléments suivants:

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 situe le problème! Si est le pilote ODBC ou Java ou autre.

Il est trop gênant d'utiliser un WinXP virtuel pour faire le travail. Cela ne peut pas durer éternellement.

[EDIT2]

Juste pour être sûr: il ne fonctionne sur Windows XP, comme implicited. :}

[/ EDIT2]

Je vous serais reconnaissant beaucoup d'aide que je pouvais y arriver. : DDDDD

+1

Vous ne savez pas quel type d'aide vous attendez. Les bits aléatoires du pseudo code que vous avez posté semblent raisonnables, mais vous n'avez pas posté votre SSCCE (http://sscce.org) montrant le code de démonstration actuel. Vous n'avez pas indiqué ce qu'est l'exception SQLException. Nous avons donc peu de choses à faire. – camickr

+0

Édité. J'espère que c'est suffisant pour continuer maintenant. : D –

+0

Il me semble que si vous avez utilisé Google pour trouver des réponses insatisfaisantes, il serait logique d'inclure certaines de ces réponses et d'expliquer pourquoi elles n'ont pas résolu votre problème. –

Répondre

2

Alors puisque vous avez déjà installé ODBC, vous pouvez également vous assurer que vous utilisez le même pilote ODBC 64 bits (si vous avez créé votre connexion ODBC sous% WINDIR% \ System32 \ odbcad32.exe). Je sais pertinemment qu'il n'y a pas de pilote 64 bits pour l'accès 2007 donc dans mon cas, j'ai dû créer une connexion ODBC 32 bits (% WINDIR% \ SysWOW64 \ odbcad32.exe), mettre à jour ma version java vers 32 bits et utiliser le pilote 32 bits pour le faire fonctionner.

Espérons que cela aide!

+0

C'est ce que j'avais en tête, mais j'avais du mal à trouver la bonne version. Je l'ai essayé une fois de plus, et j'ai l'air d'avoir de la chance. Cela fonctionne: D Merci beaucoup. –

Questions connexes