Jdbc+mysql

Bonjour,

j ai pas compris l erreur suivant
org.mysql.jdbc.Driver

voici mon code

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

public class Connect {

public static void main(String[] args) {

try {
Class.forName("org.mysql.jdbc.Driver");
System.out.println("DRIVER OK ! ");

String url = "jdbc:mysql://localhost:3306/personne";
String user = "root";
String passwd = "";

Connection conn = DriverManager.getConnection(url, user, passwd);
System.out.println("Connection effective !");

Statement stat=conn.createStatement();

} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
Configuration: Windows XP
Firefox 2.0.0.20

14 réponses

  1. Contributeur
    Bonjour,

    Déjà, lorsqu'on a une erreur en Java, le mieux est de mettre l'erreur complète (toutes les traces).

    Ton erreur survient sur la ligne de déclaration des drivers JDBC : "Class.forName("....");"

    Es-tu certains d'avoir mis les Jar JDBC dans le classpath de ton application ?
    1. Contributeur
      Peux-tu s'il te plait mettre les traces d'erreurs entières ?
      Et indiquer la ligne sur laquelle l'exception a lieu.

      Dans ton autre post que je n'avais pas vu jusque là, tu dis que tu as mis ton Jar dans un répertoire de ton projet.
      J'imagine donc que ce répertoire a été ajouté au classpath via le menu "properties" lorsque tu cliques droit sur ton projet, c'est bien ce que tu as fait ?

      Merci de ne pas poster plusieurs discussions pour le même problème.
      1. 1)Class.forName("org.mysql.jdbc.Driver");
        2)oui c'est ce que je fais.
        1. Contributeur
          Peux-tu au risque de me répéter, afficher l'erreur (les traces) que tu obtiens lorsque tu exécute ton programme ?

          Merci.
          1. ok c'est simple je vais supprimer e.getMessage()

            import java.sql.Connection;
            import java.sql.DriverManager;
            import java.sql.Statement;

            public class Connect {

            public static void main(String[] args) {

            String pilote="com.mysql.Driver";
            try {

            Class.forName(pilote);
            System.out.println("DRIVER OK ! ");

            String user = "root";
            String passwd = "";
            String url = "jdbc:mysql://localhost:3306/personne";

            Connection conn = DriverManager.getConnection(url,user,passwd);
            System.out.println("Connection effective !");

            Statement stat=conn.createStatement();
            conn.close();

            } catch (Exception e) {

            //System.out.println(e.getMessage());
            }
            }
            }
            et j' obtient

            run:
            BUILD SUCCESSFUL (total time: 0 seconds)

            tout cela et encore il existe un pb parce si j ai réussi de connecter au localhomst normalement il m affiche driver ok n'est ce pas?
            1. Contributeur
              Je ne comprends pas ton problème en fait.

              Run, build successful, cela veut dire tout simplement que tu as compilé ton application, en ancun cas que tu l'as lancé / exécuté.

              Que la compilation passe, tant mieux, mais le souci ne se pose pas à ce niveau il me semble ?

              Donc, qu'obtiens-tu lorsque tu exécute ton programme ?
              Sur la sysout (sortie standard), tu obtiens quoi comme traces ? Une erreur ? Si tu commente ce que tu catch, l'erreur n'apparaitra pas.

              Corrige ton programme comme suit au niveau de la gestion de ton exception :
              } catch (Exception e) {
              e.printStackTrace();
              } 
              


              Et donne moi ce qu'il est écrit suite à l'exécution de ton programme.
              1. java.lang.ClassNotFoundException: com.mysql.Driver
                at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
                at java.security.AccessController.doPrivileged(Native Method)
                at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
                at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
                at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
                at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
                at java.lang.Class.forName0(Native Method)
                at java.lang.Class.forName(Class.java:169)
                at Connect.main(Connect.java:6)
                1. Contributeur
                  Donc ton Jar n'est pas inclus dans ton projet / jar / classpath (selon la manière dont tu t'y ai pris). Ou alors, ça a été mal fait.
                  Peux-tu me décrire exactement ce que tu as fais pour inclure dans ton classpath / ton application le Jar client de mysql ?
                  1. j ai mis le fichier jar sous D:\ projets \ java \ PersonneBdd \ src
                    1. Contributeur
                      Mais encore, qu'as-tu fais d'autre ? Où renseignes-tu ton classpath ?

                      Tu utilise quoi pour développer ? Eclipse, NetBean, rien ?
                      1. Contributeur
                        Ok... devant autant de bonne volonté de ta part, tu ne m'en voudra pas si je te laisse avec ton problème.

                        Bon courage pour la suite.