-
Base Access Distante
Bonjour,
Voilà je suis actuellement en stage et je dois développer une application en Java qui permet de transférer des données d'une base de données sur SQL server vers une Base de données Access.
Jusque là pas de problème, j'ai créé mon alias sur Odbc pour la base Access et j'ai également réussi à récupérer les données qu'il me fallait dans la base SQL Server. Seulement voilà, maintenant que mon application est fonctionnelle mon patron m'a demandé d'ajouter une fonctionnalité pour modifier le chemin des Bases de données (car elles sont susceptibles d'être déplacées) et pour cela il me faudrait soit:
• Me connecter à la Base de données via une connection du type:
Code:
"jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=//MachineName/FichierPartagé/BDD.mdb"
• Pouvoir créer un alias odbc en temps réel (mais après quelques recherches je me suis rendu compte qu'il fallait toucher aux registres et que Java n'en serait pas capable, je serais donc obligé de passer par une application en C?)
• Utiliser un autre type de jdbc?
Le problème c'est que j'ai essayé la première méthode: j'ai créé un dossier de partage sur l'ordinateur contenant la base et j'ai mis la base en partage sur le réseau local, j'ai ensuite utilisé la chaine citée plus haut pour me connecter à la base et j'ai l'erreur suivante:
Code:
java.sql.SQLException: [Microsoft][Gestionnaire de pilotes ODBC] Source de données introuvable et nom de pilote non spécifié
pourtant pas d'erreur possible le chemin est correct.
j'ai cherché sur le forum et la seule solution qui s'approche de mon cas c'est celle ci:
http://www.developpez.net/forums/d71...rveur-distant/
mais là encore ce n'est pas satisfaisant étant donnée que la base de données fait ~70Mo et que je dois faire des modifications dessus, même si je pouvais ensuite renvoyer une copie de la base modifiée ça ralentirait énormément mon application.
Il me reste donc les deux dernières solutions mais malgré mes recherches, je ne sais vraiment pas comment m'y prendre.
Est-ce quelqu'un pourrait m'éclairer un peu?
En vous remerciant par avance,
Cordialement,
-
Code:
"jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=//MachineName/FichierPartagé/BDD.mdb"
ça c'est la bonne solution
Maintenant, comme odbc ne trouve pas la base, c'est probablement sur le chemin qu'il faut travailler :
pistes possibles :
- slash windows (j'y crois pas mais bon) : DBQ=\\\\MachineName\\FichierPartagé\\BDD.mdb
- lettre de partage : DBQ=H:/FichierPartagé/BDD.mdb
- IP de la machine : DBQ=//192.168.012/FichierPartagé/BDD.mdb
etc.
Par ailleurs, il est impératif de vérifier que tu as bien tous les droits sur le dossier "FichierPartagé"
-
Merci pour ta réponse. Néanmoins j'avais déjà essayé tout ça et sans succès. A vrai dire je viens de résoudre le problème tout seul et c'est bien plus bête que ça:
J'ai ouvert ODBC dans le Panneau de configuration et j'ai remarqué que le pilote de mon driver MS Access était sous la forme :
Code:
Microsoft Access Driver (*.mdb, *.accdb)
et non pas:
Code:
Microsoft Access Driver (*.mdb)
tel que j'avais pu trouver sur Internet.
En espérant que cela puisse aider ceux qui seront dans le même cas que moi ;)