Connection a Mysql via java

Résolu
Salut les gens,

Je commence en java alors soyez gentils plzzzzz :-)

J'essai de me connecter a ma base de donner Mysql en passant par un programme en java développé sous eclipse dont voici le code :


import java.sql.*;

class affichage{

public static void main(String[] args){

	String pilote = "com.mysql.jdbc.Driver";

	try{
		Class.forName(pilote);
 
		Connection connexion = DriverManager.getConnection("jdbc:mysql://localhost/test","root","pass");
 
		Statement instruction = connexion.createStatement();
 
		ResultSet resultat = instruction.executeQuery("SELECT * FROM ANNONCE");
		while(resultat.next()){

			
			System.out.println("---------------------------");
			System.out.println("N° ID_ANNONCE: "+resultat.getInt("ID_ANNONCE"));
			System.out.println("N° ID_MODELE: "+resultat.getInt("ID_MODELE"));
			System.out.println("Descriptif: "+resultat.getString("DESCRIPTIF"));

		}
	}
	catch (Exception e){

		System.out.println("echec pilote : "+e);
	}

	}
}



Il me semble avoir bien placer mes pilote mysql mais je suis pas sur ( je les ais mis la où il y a mon code java).

Et voici ce que cela m'affiche :
echec pilote : java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

Auriez-vous une solution a me proposé siouplé.

28 réponses

Résumé de la discussion

Le problème central est l'échec du chargement du pilote MySQL dans un programme Java utilisant JDBC, visible par l'erreur java.lang.ClassNotFoundException: com.mysql.jdbc.Driver lorsque la connexion est tentée. Des réponses recommandent de télécharger le connecteur JDBC de MySQL et d'ajouter le fichier jar au chemin du projet, par exemple dans Eclipse via Propriétés > Java Build Path. En cas de version plus récente, le nom de la classe pilote peut être com.mysql.cj.jdbc.Driver et la chaîne de connexion doit refléter le nom de la base et le port correct, par exemple jdbc:mysql://localhost:3306/base. Autre nuance utile, certains retours indiquent qu'un conflit entre anciens et nouveaux jars peut bloquer le chargement et qu'il faut nettoyer les anciennes versions du classpath pour stabiliser la connexion.

Bobot (l’IA à votre service)
  1. Hello,

    Télécharge le Jar du JDBC de Mysql sur le site officiel (merci google).

    Il faut ajouter le jar du JDBC dans le path du projet.
    Sous Eclipse > Clic droit sur ton projet > Properties > Java Build Path > Onglet Libraries > Bouton Add External Jar ou Add Jar en fonction de la localisation du jar.
    Avec ça, ça devrait fonctionner.

    Bon courage
    112
    1. merci pour ton aide l'ajout du jar dans la bibliothèque à résolu mon problème.bye
      0
    2. bonjour tout le monde,
      je suis débutante avec la programmation en Jade sous eclipse , je cherche comment connecté ma base MYSQL avec le JADE qlq peut m'aider????
      0
    3. et avec JGraps comment fait-on stp, pour utiliser ses bases de données dan le code java?
      0
    4. j'ai des problèmes avec la connexion a la base et voila le code

      package projet;

      import java.beans.Statement;
      import java.sql.Connection;
      import java.sql.DriverManager;
      import java.sql.ResultSet;
      import java.sql.SQLException;

      public class menu {

      /**
      * @param args
      */
      public static void main(String[] args) {
      // TODO Auto-generated method stub

      try
      {
      Class.forName("com.mysql.jdbc.Driver");
      String url = "jdbc:odbc:C:/Users/hamdi/AppData/Local/Temp/QUERY.LOG";
      Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/Hamdi" +
      "user=root"+"password=''");

      Statement stat = conn.createStatement();

      String query = "insert into tableau values hassen ,90,1";

      ResultSet resultat = stat.executeQuery(query);

      while(resultat.next()){

      System.out.println("---------------------------");
      System.out.println(""+resultat.getInt("age"));
      System.out.println(""+resultat.getString("nom"));
      System.out.println(""+resultat.getInt("id"));
      }

      } catch(Exception ex)
      {
      System.out.println(ex.getMessage());

      }
      }}
      0
    5. tu l'as pas compilé ton code
      0
  2. Yop.
    Les exceptions, il faut bien les lire et avec un peu d'habitude, tu les comprendras tout seul.
    NoClassDefFoundError signifie, je n'ai pas trouvé la classe.

    Tu as telechargé le connector que je t'ai indiqué ?

    Ensuite, ta chaine de connexion n'est pas bonne:
    jdbc:mysql://localhost:3306/base

    Tu ne touche pas à Localhost sauf si ton serveur mysql est ailleurs, et la base, c'est le SID de la base (son nom, quoi)... :)

    5
    1. salut
      j`ai un probleem, je veux connecter java avec Mysql maid dans le paquette WAMP est ce que c`est possible de faire ca. je utilise le mysql de wamp
      merci
      4
      1. slt hamid,
        j'ai le même problème que toi ,est ce que c'est possible ,et est ce que ça a marché pour toi ?
        Merci
        0
    2. salut
      tu doit télécharger mysql-connector version 5 :voila le site https://dev.mysql.com/downloads/connector/odbc/5.0.html
      et tu doit le décompressé .dans la décompression tu trouvera un fichier.jar vous le copiez par suite le coller dans un dossier (crée un dossier dans votre projet éclipse avec le nom lib ) et coller le fichier .jar
      :)
      4
      1. merci bcp ,ca ma aider a resoudre mon problem
        0
    3. YOUHOU CA MARCHE!!!!!!!!!!!

      En fait le probleme venai du fait que j'avai deja installer un jar dans mon dossier mais il devai mal fonctionner et qd j'ai rajouter le tien jai oublier de virer le mien, ce que je vien de voir ^^

      Alors j'ai virer le mien, enlever le "/ " apres le nom de ma base ( je croiyai qu'il en fallai un pour finir le chemin mais il m'affichai "nom de base incorrect") et voila ca fonctionne.

      Bon bah merci du coup de main ca m'a bien dépanner, ca fesai un moment que je galèrai la dessus ^^.

      Voila @++ et merci encore.
      3
      1. Attache ta librairie MySQL Connector à ton projet :)
        2
        1. Bonjour

          Je pense que vous devez installer le driver "mysql connector.jar" et le ajouter a l'application

          comme ca: rightmouse click on the project
          choose properties
          choose Library
          add le driver mysql

          je pense que ca marche

          merci
          1
          1. salut
            jai fais toutes les instructions que vous avez dit mais j'ai toujours le probleme "driver not found"
            ca fait troi jours que je suis la dessus et j'ai vraiment pas de temps
            j'utilise eclipse, mysql connector 5.1.7
            alors est ce que vous pouvez me dire exactement ou je dois mettre mon connector ou bien n'importe quoi qui pourrai m'aider
            merci d'avance
            0
          2. @astrocybernautebonjour
            driver not found" cela veut dir que tu n as pas de coonection
            essayer un autre driver jdbc
            en tous ca tu dois l`ajouter a la librairy du projet
            I had this problem but I solved inside Netbeans
            the name of you project is red now?
            can write the exception that you get?
            0
          3. @hamidjustement je crois avoir fais la conexion correctement mais jai ourtant cette erreur alors peut etre que je me tompe quelquepart
            je l'ai deja ajouté a la librairie de mon projet, je traville sur eclipse et jarrive a voir mon conector dans le menu à gauche
            et non je n'ai pas une erreur en rouge dans mon projet
            j'avais crée mon propre post pour poser ma question et jy ai ajouté tout mon code si tu veux le voir :
            http://www.commentcamarche.net/forum/affich 12601971 probleme driver mysql non trouve java?#dernier

            thanks you
            0
        2. salut,
          tu doit ajouter le jar : mysql-connector
          et tu auras le resultat de ton code
          bon courage
          1
          1. slt,moi aussi j'ai recontré se problem, et enfin j trouvé la solution. tu besoin d'un fichier qui s'appel "Mysql.jar"(bibliotheque) et ajouter leur chemin ds votre fichier Classpath.
            1
            1. Ué c bon je lai deja pris Mysqlconnector mais ja sais pas trop ou je dois le mettre, je l'ai mis la où il y a mon code source mais je suis aps sur de moi
              0
              1. Right Click the project -- > build path -- > configure build path

                In Libraries Tab press Add External Jar and Select your jar.
                0
            2. non,

              tu l'installe et tu fais ta chaine de connexion correctement, et lui il prend la charge de lier entre ton application et Mysql.

              voici un lien pour plus d'information sur la chaine de connexion.

              http://metarisk.inapg.inra.fr/content/download/431/2365/file/Connexion_Java-SGBDR.pdf

              bonne chance
              0
              1. C'est ce jar la que je dois dl?

                mysql-connector-java-5.0.4-bin-g.jar
                0
                1. j'ai essayé ce code pour me connecter à une base de donnée mysql, et ça n'a pas marché!!

                  import java.sql.*;
                  public class connection {
                  public static void main (String[] args) {
                  Connection connexion;
                  Statement statement;
                  ResultSet resultat;
                  try {
                  Class.forName("com.mysql.jdbc.Driver");
                  connexion = DriverManager.getConnection("jdbc:mysql://localhost/sql","root","");
                  statement = connexion.createStatement();
                  resultat = statement.executeQuery("SELECT * FROM uneTable");
                  while(resultat.next()){
                  System.out.println("Nom : "+resultat.getString("nom") + "Age : " + resultat.getInt("age") + " ans");
                  }
                  }
                  catch(Exception e){
                  System.out.print("Impossible de se connecté à MySQL");
                  }
                  }
                  }
                  aidez moi svp,et merci d'avance
                  0
                2. Voici un exemple :

                  package votant;

                  import Server.*;
                  import java.sql.DriverManager;
                  import com.mysql.jdbc.Connection;
                  import com.mysql.jdbc.Statement;
                  import java.sql.ResultSet;
                  import java.sql.SQLException;

                  /**
                  *
                  * @author Didyac
                  */
                  public class Connexion_DB {
                  private Statement st;
                  private ResultSet rs;
                  Connection conn=null;
                  String pilote="org.gjt.mm.mysql.Driver";
                  String url="jdbc:mysql://localhost:3306/vote";

                  /**
                  * connecter(): fonction de connexion à la base de données
                  * @return
                  * @throws ClassNotFoundException
                  */
                  public Connection connecter() throws ClassNotFoundException{
                  try{
                  Class.forName(pilote);
                  conn= (Connection) DriverManager.getConnection(url,"AI","passer");
                  //st= (Statement) conn.createStatement();
                  }
                  catch(SQLException ex){ex.getStackTrace();}
                  return conn;
                  }

                  }
                  0
              2. Bon alors je j'ai dl et j'ai fait comme tu m'a dit sous eclipse:
                Clic droit sur le projet=>propriété=>....

                Et ca à changer je n'ai plus le meme message d 'erreur :

                Exception in thread "main" java.lang.NoClassDefFoundError: org/aspectj/lang/Signature
                at java.lang.Class.forName0(Native Method)
                at java.lang.Class.forName(Unknown Source)
                at affichage.main(affichage.java:12)

                Il n'y aurai pas un site qui expliquerai les différents messages d'erreur ? Car je les comprend pas et puis ca me permettrai de me débrouiller par moi-même j'ai tenter de chercher avec google mais je tombe que sur des forums. Et avec mon cours passer de java je dois dire que je comprend pas tout :p

                Alors si vous cacher des adresse dans vos favoris faites tourner plz ca m'aiderai pas mal je pense
                0
                1. ok merci je vais test evec ce que tu ma passer en lien donc ne pas tenir compte de ce message ^^
                  -1
              3. Bon bah j'ai fait ce que tu m'a dit :
                - j'ai dl le fichier grace au lien que tu ma passer
                - je lai mis la où était enregistré mon code source
                - décompressé
                - ajouter le jar du JDBC dans le path du projet
                - modifier ma chaine de connexion qui est maitenant:
                Connection connexion = DriverManager.getConnection("jdbc:mysql://localhost:3306/test/");

                - sauvegarder=>redemarré eclipse ( on sait jamais ^^)=>lancer le prog

                et je retombe sur cette vielle erreur :

                Exception in thread "main" java.lang.NoClassDefFoundError: org/aspectj/lang/Signature
                at java.lang.Class.forName0(Native Method)
                at java.lang.Class.forName(Unknown Source)
                at affichage.main(affichage.java:12)

                Merci quand meme de m'avoir accorder du temps et d'avoir essayer.
                0
                1. hello salut tt le monde
                  je suis un débutant et je n'arrive pas à établir la connexion entre mysql jdbc et mon base des données c-à-d j'ai déja une BD mysql et eclipse et je telecharger le driver jdbc connector mais je sais cment faire le lien et c'est pour mon projet donc please vos solutions j'attent bientot ok a+
                  0
                  1. Salut,
                    je viens de suivre ce tuto est ca marche nickel. Merci à tous.
                    Sauf qu'il faut utiliser le "Connector/J 5.0" donc le premier lien proposé et c'est bon !!
                    En tout cas, si besoin d'aide on est la. ++
                    0
                  2. @iboumizabonjour,
                    j'ai suivi de même les étapes, sauf que... ca ne marche pas, une erreur étrange :
                    à priori, après débugage c'est sur la ligne "Connection connexion = DriverManager.getConnection("jdbc:mysql://localhost:3036/mailBox","login", "passe");

                    l'erreur est : "com.mysql.jdbc.exceptions.MySQLSyntaxErrorException : you have an error in your SQL syntax : check the manual that correspond to your MySQL server version for right syntax to use near '?????????????????' at line 1

                    si j'écrit à la place : Connection connexion = DriverManager.getConnection("jdbc:mysql:mailBox","login", "passe");

                    j'obtient : java.sql.SQLException : No driver found for jdbc:mysql:mailBox

                    quelqu'un a une idée? merci d'avance
                    0
                2. exuse mon Français!!
                  ton java ne reconné pas le chemin ou le Driver Mysql se trouve alors il faut le rajouter dans ton CLASSPATH
                  avec quel IDE java tu travail comme ça je vais t'aider a le rajouter ton ta CLASSPATH (netbeans ou eclipse ou kawa....)
                  0
                  1. je veux savoir comment configurer eclipse3.2 pour utiliser les bases de données,
                    et qu'est ce qu'il faut télécharger?
                    j'ai un projet à rendre dans 15jours
                    svp c trés urgent
                    0
                    1. pour me connecter à mysql j'ai telecharger "mysql-connector-java-5.0.8.tar.gz" dans mon bureau
                      mais je ne sais rien faire avec:ou dois je le mettre,comment l'ajouter à la bibliothek de mon projet!
                      jai fais toutes les instructions que vous avez dit mais j'ai toujours le meme probleme probleme:

                      Sous Eclipse > Clic droit sur ton projet > Properties > Java Build Path > Onglet Libraries > Bouton Add External Jar ou Add Jar en fonction de la localisation du jar:
                      je ne sé pa ou trouver le jar .
                      lorske je clik sur Add External jar keske je doi selectionner ??????
                      c'est urgent !!
                      merci d'avance les experts!!
                      0
                      1. je pence que tu n as pas de connection avec MYSQL database
                        le driver mysql jdbc est downloaded????
                        verifier le passwoord du MYSQL
                        il doit etre le meme dans le le code
                        merci
                        0
                        1. 3assssssssssssssbq
                          0
                      • 1
                      • 2