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 :

Problème de connexion à une BD MySql


Sujet :

JDBC Java

  1. #1
    Expert éminent sénior

    Avatar de Siguillaume
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2007
    Messages
    6 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 6 180
    Points : 25 358
    Points
    25 358
    Par défaut Problème de connexion à une BD MySql
    Bonjour à tous.
    Je rencontre un problème avec la connexion à une base de données mysql sous Java.

    Je vous situe un peu le contexte des choses.

    1-> J'ai installé correctement un pont JDBC-ODBC: mysql-connector-odbc-5.1.5-win32.msi

    2-> J'ai ajouté une nouvelle source de données qui pointe sur ma base mysql, préalablement crée. Cette base a pour nom: ma_bd.

    Le test de connexion m'assure que les choses fonctionnent jusque là bien.

    Voici mon code java: (juste un petit test de connexion à la base de données)

    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
    20
    21
    22
    23
    24
    25
    26
     
    		//Chargement du pilote
    		try {
    			 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    			 System.out.println("Pilote chargée avec succès");
    		}
    		catch(ClassNotFoundException e){
    			System.out.println("Impossible de charger le pilote");
    		}
     
    		//Connexion à la base de données
    		try {
    			String url="jdbc:mysql:ma_bd";
    			String user="le_user";
    			String password="mot_de_passe";
     
    			con=DriverManager.getConnection(url, user, password);
     
    			System.out.println("Connexion à la BD réussie.");
    		}
    		catch(SQLException e){
    			System.out.println("Connection à la base de données" +
    					" échouée.");
     
    			System.out.println(e.getMessage());
    		}
    Et j'ai le resultat suivant:

    Pilote chargée avec succès
    Connection à la base de données échouée.
    No suitable driver
    J'ai encore le même resultat quand je remplace
    con=DriverManager.getConnection(url, user, password);
    par
    con=DriverManager.getConnection(url);
    Je comprends pas ce qui ne vas pas.

    A priori cela vient du driver chargé. Mais comment et pourquoi?

    Quelqu'un peut-il m'aider?
    Vous avez envie de contribuer au sein du Club Developpez.com ? Contactez-nous maintenant !
    Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
    Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
    Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, etc.
    Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.

  2. #2
    Membre averti Avatar de Philcmoi
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 666
    Points : 412
    Points
    412
    Par défaut
    essais de mettre en url jdbc:mysql:localhost/mabd l'adresse de ta base de donnée je crois que ca ira. enfin j'espère. bon courage.

  3. #3
    Expert éminent sénior

    Avatar de Siguillaume
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2007
    Messages
    6 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 6 180
    Points : 25 358
    Points
    25 358
    Par défaut
    Bonjour. Merci pour ta réponse, mais ça ne fonctionne pas.

    j'ai fait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String url="jdbc:mysql:localhost/ma_bd";
    et même ceci aussi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String url="jdbc:mysql:localhost:3306/ma_bd";
    Mais rien aussi.

    Toujours le même resultat...

    Je précise que je suis en monoposte, donc localhost est bien l'adresse de la machine.

    Merci
    Vous avez envie de contribuer au sein du Club Developpez.com ? Contactez-nous maintenant !
    Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
    Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
    Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, etc.
    Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.

  4. #4
    Expert éminent sénior

    Avatar de Siguillaume
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2007
    Messages
    6 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 6 180
    Points : 25 358
    Points
    25 358
    Par défaut
    Quand j'ajoute :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    catch(SQLException e){
    			System.out.println("Connection à la base de données" +
    					" échouée.");			
    			System.out.println(e.getMessage());
    			
    			e.printStackTrace();
    		}
    J'obtiens ceci comme résultat:
    Pilote chargée avec succès
    java.sql.SQLException: No suitable driver
    at java.sql.DriverManager.getConnection(Unknown Source)
    Connection à la base de données échouée.
    No suitable driver
    at java.sql.DriverManager.getConnection(Unknown Source)
    at TestConnexion.main(TestConnexion.java:30)
    Vous avez envie de contribuer au sein du Club Developpez.com ? Contactez-nous maintenant !
    Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
    Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
    Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, etc.
    Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.

  5. #5
    Expert éminent sénior

    Avatar de Siguillaume
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2007
    Messages
    6 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 6 180
    Points : 25 358
    Points
    25 358
    Par défaut
    J'ai finalement opté pour un driver de type 4: un pure Java.
    Il s'agit du mysql-connector-java-5.1.7.zip.

    Je l'ai parametré dans mon classpath, puis j'ai modifié le code précédent en ceci:

    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
    20
    21
    22
    23
    24
    25
    26
    27
     
    	//Chargement du pilote
    		try {
    			Class.forName("com.mysql.jdbc.Driver"); 
    			System.out.println("Pilote chargée avec succès");
    		}
    		catch(ClassNotFoundException e){
    			System.out.println("Impossible de charger le pilote " +
    					e.getMessage());
    		}
     
    		//Connexion à la base de données
    		try {
    			String url="jdbc:mysql://localhost/mabd";
    			String user="le_user";
    			String password="mot_password";
     
    			con=DriverManager.getConnection(url, user, password);
     
    			System.out.println("Connexion à la BD réussie.");
    		}
    		catch(SQLException e){
    			System.out.println("Connection à la base de données" +
    					" échouée.");
     
    			e.printStackTrace();
    		}
    Et j'obtiens
    Pilote chargée avec succès
    Connexion à la BD réussie.


    Tout est donc ok.

    Mais ça me plairait quand même de savoir pourquoi la connexion via ODBC échouait.
    J'attends donc un peu avant de marquer la discussion .

    Merci pour votre participation.
    Vous avez envie de contribuer au sein du Club Developpez.com ? Contactez-nous maintenant !
    Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
    Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
    Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, etc.
    Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.

  6. #6
    Membre éclairé Avatar de rberthou
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    612
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 612
    Points : 690
    Points
    690
    Par défaut
    Salut

    Si tu utilises le pont ODBC/JDBC je pense me souvenir que tes urls doivent être de la forme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jdbc:odbc:base_de_donnees
    et non
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jdbc:mysql:base_de_donnees
    Par contre il est très fortement déconseillé de passer par ce pont.
    - Informaticien passionné
    - ( java, c++, cobol, php, asp, ... )
    - http://www.berthou.com/fr/

  7. #7
    Expert éminent sénior

    Avatar de Siguillaume
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2007
    Messages
    6 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 6 180
    Points : 25 358
    Points
    25 358
    Par défaut
    Effectivement, rberthou.
    ça marche très bien.
    Et avec ça même, plus besoin de mettre les paramètres de connexion: user et mot de passe.

    Voici le nouveau code qui marche:
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    	public static void main(String[] args) {
     
    		Connection con=null;
     
    		//Chargement du pilote
    		try {
    			 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    			 System.out.println("Pilote chargée avec succès");
    		}
    		catch(ClassNotFoundException e){
    			System.out.println("Impossible de charger le pilote");
    		}
     
    		//Connexion à la base de données
    		try {
    			String url="jdbc:odbc:ma_bd";
     
     
    			con=DriverManager.getConnection(url);
     
    			System.out.println("Connexion à la BD réussie.");
    		}
    		catch(SQLException e){
    			System.out.println("Connection à la base de données" +
    					" échouée.");			
    			System.out.println(e.getMessage());
     
    			e.printStackTrace();
    		}
    Je crois que tout es bien qui finit bien.
    C'est donc résolu à présent.

    Merci à tous pour votre participation
    Vous avez envie de contribuer au sein du Club Developpez.com ? Contactez-nous maintenant !
    Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
    Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
    Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, etc.
    Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.

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

Discussions similaires

  1. probléme de connexion à une base mysql
    Par Jaafar_scorpion dans le forum API standards et tierces
    Réponses: 12
    Dernier message: 01/01/2013, 12h24
  2. Problème de connexion à une base MySQL
    Par Jezlife dans le forum Bases de données
    Réponses: 5
    Dernier message: 06/12/2011, 11h17
  3. Problème de connexion à une base MySQL
    Par ctenot dans le forum NetBeans Platform
    Réponses: 8
    Dernier message: 23/11/2011, 03h59
  4. Réponses: 1
    Dernier message: 17/01/2011, 09h11
  5. Problème de connexion à une BD MySQL
    Par petite bohemienne dans le forum Administration
    Réponses: 1
    Dernier message: 20/06/2008, 14h23

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