IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JDBC Java Discussion :

Base Access Distante


Sujet :

JDBC Java

  1. #1
    Membre régulier
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2012
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 57
    Points : 76
    Points
    76
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
     "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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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,

  2. #2
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 713
    Points : 4 792
    Points
    4 792
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     "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é"

  3. #3
    Membre régulier
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2012
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 57
    Points : 76
    Points
    76
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    Microsoft Access Driver (*.mdb, *.accdb)
    et non pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Gestion d'une base access distante
    Par projetge2i dans le forum C++
    Réponses: 8
    Dernier message: 10/04/2009, 17h11
  2. connexion à base access distante
    Par djoteck dans le forum ASP
    Réponses: 8
    Dernier message: 15/05/2008, 08h20
  3. Réponses: 2
    Dernier message: 20/11/2006, 21h42
  4. Réponses: 3
    Dernier message: 20/09/2006, 00h16
  5. connection base ACCESS distante
    Par Alexlesilex dans le forum Access
    Réponses: 2
    Dernier message: 08/06/2006, 22h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo