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 :

JDBC / MS Access.


Sujet :

JDBC Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2012
    Messages : 9
    Par défaut JDBC / MS Access.
    Bonsoir à toutes et à tous,

    Après avoir fouillé dans la FAQ et regardé d'anciens posts, je me permets de vous solliciter.
    Je suis débutant en terme d'utilisation en BDD avec Java et je pense que c'est ce qui m'empêche de comprendre d'où provient mon problème.

    Je travaille actuellement sur un projet qui nécessite une connexion à une BDD MS Access via JDBC. Je travaille sous Eclipse, j'ai téléchargé le fichier JAR de ODBC et l'ai incorporé à mon projet.

    Je tente donc simplement de me connecter à ma BDD Access mais une erreur [Microsoft][Gestionnaire de pilotes ODBC] Source de données introuvable et nom de pilote non spécifié apparait et je ne sais pas comment la résoudre.

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    import java.sql.*;
     
    public class Connexion {
     
    	public static void main(String[] args){
     
    		Connection con = null;
    		String url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:/Users/Tuvia/Desktop/Berni.mdb";
     
    		try{
    			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    			con = DriverManager.getConnection(url);
    		}
    		catch(Exception e){
    			e.printStackTrace(); 
    		}
    	}
    }
    Si j'utilise ce code à la place :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    import java.sql.*;
     
    public class Connexion {
     
    	public static void main(String[] args){
     
    		Connection con = null;
    		String url = "jdbc:odbc:C:/Users/Tuvia/Desktop/Berni.mdb";
     
    		try{
    			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
    			con = DriverManager.getConnection(url);
    		}
    		catch(Exception e){
    			e.printStackTrace(); 
    		}
    	}
    }
    l'erreur devient alors [Microsoft][Gestionnaire de pilotes ODBC] Nom de source de données trop long.

    Toute aide est la bienvenue.
    Merci d'avance !

    Tuvia.

  2. #2
    Membre expérimenté Avatar de kalina
    Femme Profil pro
    Développeur Java
    Inscrit en
    Avril 2009
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2009
    Messages : 220
    Par défaut
    Bonjour,
    Ceci pourrait peu-être t'aider:
    http://www.developpez.net/forums/d12...access-2003-a/

    bon courage

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2012
    Messages : 9
    Par défaut
    Merci du lien ! J'en ai déjà compris davantage sur le principe.
    J'ai bien rajouté la source de données dans ODBC avec le Driver de MS Access, avec pour nom "Berni".

    Mais désormais l'erreur qui apparait est : La source de données (DSN) spécifiée présente une incompatibilité d'architecture entre le pilote et l'application.

    Voici le code, même si je pense que l'erreur ne provient pas de celui-ci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    import java.sql.*;
     
    public class Connexion {
     
    	public static void main(String[] args){
     
    		Connection con = null;
    		String url =  "jdbc:odbc:Berni";
     
    		try{
    			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    			con = DriverManager.getConnection(url);
     
    		}
    		catch(Exception e){
    			 System.out.println(e.fillInStackTrace());
    		}
    	}
    }
    J'ai créé la BDD via Access 2007. J'ai modifié le Driver associé - en essayant avec Microsoft Access Driver (*.mdb) et Microsoft Access Driver (*.mdb, *.accdb) - et j'ai lancé le programme mais sans succès.
    Est-ce que cela peut provenir du fait qu'il s'agit d'une BDD Access 2007 ?

    Pour récapituler, la procédure pour utiliser une BDD via JDBC est-elle bien la suivante :
    _Création de la BDD
    _Ajout de la source de données dans ODBC
    _Utiliser un code du même type que ci-dessus
    ?

  4. #4
    Membre expérimenté Avatar de kalina
    Femme Profil pro
    Développeur Java
    Inscrit en
    Avril 2009
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2009
    Messages : 220
    Par défaut
    Salut,
    Citation Envoyé par tuvia Voir le message
    J'ai créé la BDD via Access 2007. J'ai modifié le Driver associé - en essayant avec Microsoft Access Driver (*.mdb) et Microsoft Access Driver (*.mdb, *.accdb) - et j'ai lancé le programme mais sans succès.
    Est-ce que cela peut provenir du fait qu'il s'agit d'une BDD Access 2007 ?

    Pour récapituler, la procédure pour utiliser une BDD via JDBC est-elle bien la suivante :
    _Création de la BDD
    _Ajout de la source de données dans ODBC
    _Utiliser un code du même type que ci-dessus
    ?
    pour la procédure,oui c'est bien ça, mais il y a certainement d'autres méthodes!
    pour Access 2007, je suis désolée de ne pas pouvoir t'aider plus!
    bon courage.

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2012
    Messages : 9
    Par défaut
    Bonsoir,

    @ptitom : merci des liens ! J'avais déjà consulté le support de MS et j'espérais justement qu'il ne s'agisse pas d'une incompatibilité 32 bits / 64 bits étant donné qu'il n'y a - apparemment - pas de solution.

    @kalina : ok merci de la confirmation !

    Je vais essayer de coder ça sous un 32 bits pour voir si cela résout mes problèmes. Je vous tiendrais informer si c'est le cas ou non dans les prochains jours.

    Encore une fois, merci pour les infos !

  6. #6
    Membre averti

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9
    Par défaut
    Bonjour,

    Je ne sais pas ce que cela vaut, mais j'obtiens des messages similaires lorsque je passe d'un JRE 32 bits à une JRE 64 bits (Je suis sous Seven).
    Après qq. recherche sur le net, j'ai trouvé cela :
    http://www.selikoff.net/2011/07/26/c...n-64-bit-java/
    Cela répondra peut-être à tes interrogations.

    Après l' "incompatibilité d'architecture entre le pilote et l'application" fait effectivement penser à un Java 64 bits sur un ODBC 32 bits.
    Microsoft parle des problèmes d'ODBC sur des systèmes 64 bits ici http://support.microsoft.com/kb/942976/en-us.

    J'espère que cela te permettra d'aller plus loin...

    @+
    Ptitom

    [Edit] une des solutions dans ton cas est peut-être de travailler avec un Java 32 bits ???

  7. #7
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2012
    Messages : 9
    Par défaut
    Bonjour !

    C'était bien une incompatibilité 32 bits / 64 bits
    Merci pour votre aide à tous les 2

    Bonne journée.

    Tuvia

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

Discussions similaires

  1. Pilote JDBC d'Access
    Par Elbakin dans le forum JDBC
    Réponses: 3
    Dernier message: 14/07/2009, 20h55
  2. [JDBC] Driver access
    Par Alwin dans le forum JDBC
    Réponses: 3
    Dernier message: 23/02/2006, 14h24
  3. [JDBC] JSP + access
    Par Lady_jade dans le forum Servlets/JSP
    Réponses: 10
    Dernier message: 20/02/2006, 10h21
  4. [JDBC]Java access et mysql
    Par Lady_jade dans le forum JDBC
    Réponses: 9
    Dernier message: 09/09/2005, 11h11
  5. [JDBC][MS ACCESS] probleme insertion de date
    Par darius_the_first dans le forum JDBC
    Réponses: 2
    Dernier message: 10/12/2004, 18h04

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