8
votes

JDBC Pilote MS Access Connection

Je veux connecter mon fichier d'accès MS avec programme d'interface graphique Java, mais j'ai un problème avec la connexion ...

J'ai Windows 7 64B et MS Office 2007. Lorsque j'ai ouvert le gestionnaire de pilotes ODBC dans le panneau de configuration, je n'ai pas trouvé de pilote pour Microsoft Access (peut-être que lorsque j'ai commencé l'ODBC, on commence à exécuter la ODBC 64 bits, maintenant, je pense exécuter la ODBC 32bit. Je lis ça et je le fais: Connexion JDBC-ODBC pour la fenêtre 7 64 bits .. 1 . Cliquez avec le bouton droit de la souris sur la source de données (ODBC). Allez à Propriétés Modifier la chose Folloing

cible [% Systemroot% \ SYSWOW64 \ ODBCAD32.EXE] Démarrer in: [% Systemroot% \ System32]

Appuyez sur Entrée et continuez comme source d'administrateur: lien source " ) Maintenant, lorsque je commence à Conctrol Pannel, ODBC, je peux voir le pilote Screenshoot

mon code de programme (j'ai essayé de deux manières mais j'ai la même erreur): xxx

erreur

java.sql.sqxception: [Microsoft] [Microsoft] [ODBC Driver Manager] Nom de la source de données non trouvée et aucun pilote par défaut spécifié


4 commentaires

Avez-vous vérifié que le composant ODBC a été installé lorsque vous avez installé l'accès?


Je ne me souviens pas, mais maintenant je réinstalle la MS Office 2007.


C'est le chemin direct que le chemin direct n'a pas besoin de créer un nouveau système DSN, vous devez probablement vérifier votre chemin sur le fichier .mdb .


J'ai utilisé cette vidéo: dans la vidéo youtube.com/watch?v=Of4LRHOZoII la le code est working.but pour moi est pas. Je réinstallé tous, mais il a permis au bureau, mais ms toujours un même errror.


9 Réponses :


2
votes

Si vous utilisez Windows 64-Bit, vous devez probablement aller sur ce chemin

C: /Windows/syswow64/odbcad32.exe

Puis j'ai remarqué que vous utilisez la voie directe à la place créant un nouveau système System DSN , votre chemin direct est correct jusqu'à la voie du fichier accès Doit donner le chemin complet comme celui-ci:

JDBC: ODBC: pilote = pilote Microsoft Access (* .mdb, * .Accdb); DBQ = chemin / à / invertory.mdb "

Pour obtenir le chemin Vous avez probablement besoin d'utiliser java.io.file Xxx


3 commentaires

Database String = "JDBC: ODBC: pilote = pilote Microsoft Access ( .mdb, * .Accdb); DBQ = C: / Users / KEX / Documents / NetBeansProjects / Databas E_Form / Basey_Form"; String Database = "JDBC: ODBC: pilote = pilote d'accès Microsoft ( .mdb, * .accdb); dbq = c: \\ utilisateurs \\ keex \\ documents \\ da tabase_forms \\ Databas E_form \\ invertory.md b "; J'ai essayé à deux sens mais ne travaille pas. Étourdir une erreur après le début. Je suis à: c: /windows/syswow64/odbcad32.exe


J'ai essayé de mettre ce code après et avant la "String Database =" JDBC: ODBC: pilote = pilote Microsoft Access (.mdb, * .Accdb); DBQ = C: / Users / NetBeansProjects / Databas E_Form / Basey_Form /Invertory.mdb "; Database de chaîne =" JDBC: ODBC: pilote = pilote Microsoft Access (.mdb, * .Accdb); "Et maintenant j'ai autre chose:" java.lang.nullpointereException "tht signifie que j'ai connecté Pour accéder au fichier?


Non, dans cette fonction non ici est: Dropbox.com/shfym48e5mkso83p/tzmbvceuhz



2
votes

J'ai répondu à une question similaire Entrez la description du lien ici un moment de retour.

Fondamentalement à cette époque:

  1. Vous pouvez vous connecter à MS-Access à partir de Java 32 bits via le pont JDBC-ODBC
  2. Vous ne pouvez pas vous connecter à un pilote ODBC 32 bits via JDBC-ODBC à partir de Java 64 bits. Il y avait un message vous indiquant que vous ne pouvez vous connecter que d'un programme 32 bits
  3. Pendant que Microsoft fournit un pilote d'accès MS 64 bits, il n'a pas fonctionné avec le pilote JDBC-ODBC 64 bits de Java.

    Depuis lors, il semble y avoir un nouveau pilote JDBC MS-Access Open-Source pilote JDBC MS-Access . Je ne sais pas à quel point c'est bon.


0 commentaires

0
votes

Vous vient de manquer quelque chose dans votre code ici:

db ="JDBC:ODBC:Driver={Microsoft Access Driver (*.mdb, *.accdb)}; DBQ="+path;


0 commentaires

-1
votes

Le problème est que vous devez exécuter sur Java 32 bits essayer d'installer la dernière JDK et cela fonctionnera

Je l'exécute à l'aide de la version JDK "jdk-7u67-windows-i586.exe"


0 commentaires

15
votes

Utilisez ucanaccess pilote JDBC: xxx

donc pour votre exemple ce sera connexion conn = drivermanager.geconnection ("JDBC: UCANAccess: //" + chemin)


0 commentaires

0
votes
final String fileName = "c:/myDataBase.mdb"
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="+fileName;
Connection con = DriverManager.getConnection(url,username,password);

1 commentaires

Veuillez décrire ce que vous faites aussi.



-1
votes

sur un système 64 bits, vous devriez:

  1. Exécuter en tant qu'admin AccessDataBaseengine_64.exe
  2. Run Java - 7-64 bits - JRE.

0 commentaires

-1
votes

Si vous travaillez dans NetBeans, une fois le fichier ucanacess.zip Ajouter tous les fichiers JAR dans la fenêtre CLASSPATH à l'aide de la fenêtre Propriété du projet Cliquez sur l'onglet Compiler et ajoutez un fichier JAR, puis compilez et testez l'application.


0 commentaires

-1
votes

JDBC-ODBC Connexion MS-Access a cessé de fonctionner dans JDK8. J'ai résolu le problème en installant JDK7 avec JDK8 dans le même PC, une fois installé JDK7, je l'ai attribué en tant que version JDK à utiliser dans mon projet comme suit dans NetBeans:

1.Right Cliquez sur le projet dans la liste> Cliquez sur Propriétés

2.Cliquez sur les bibliothèques de l'arborescence de navigation de gauche

3.Cliquez sur le bouton Gérer les plates-formes> Cliquez sur le bouton Ajouter une plateforme ...

Assistant 4.Suivre, malgré cela montre Java Standard Edition, cliquez sur Suivant

5.Navigate à C: \ Fichiers de programme (x86) \ Java et sélectionnez le dossier de JDK7> Cliquez sur Suivant

6.Le champ Autofill avec les bonnes informations ...> Cliquez ensuite sur Terminer

7.Sélectionnez la plate-forme JDK dans la liste> Cliquez sur Fermer> OK

8.jdk7 devrait montrer dans le package de bibliothèques.

JDK7 dans les bibliothèques package Cliquez sur Back dans le navigateur pour revenir ici après avoir regardé l'image ...

d'ici sur tout doit fonctionner correctement.

J'espère que cela résout votre problème.

Merci.


0 commentaires