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 :

[debutante][JDBC/MySQL] probleme de pilote


Sujet :

JDBC Java

  1. #1
    Membre du Club
    Inscrit en
    Juin 2003
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 55
    Points : 41
    Points
    41
    Par défaut [debutante][JDBC/MySQL] probleme de pilote
    Bonjour,
    je dois faire une liaison avec une base de données MySQL. POur cela, j'ai telechargé le pilote (enfin il me semble que c'etait le bon) sur le site de MySQL : mysql-connector-java-3.0.11-stable.jar
    j'ai modifié mon CLASSPATH :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CLASSPATH="[...]:/home/nounou/java/mysql-connector-java-3.0.11-stable-bin.jar"
    puis j'ai créé deux classes : une classe ConnectionBase avec plussieurs methodes me permettant de me connecter à ma base et de récuperer des 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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    public class ConnectionBase {
     
            /*-----------------------------------Attributs------------------------------------------
            */
            //objet connection, permet de se connecter à la base
            private Connection conn;
            // nom du pilote à utiliser pour la connection à la base MySQL
            private String pilote = "org.gjt.mm.mysql.Driver";
            // url permettant de se connecter à une base MySQL se trouvant sur localhost
            private String url = "jdbc:mysql://localhost/";
            // objet Statment, permet d'envoyer des requete SQL
            private Statement stmt;
            // objet ResultSet qui récupère le résultat d"une requete
            private ResultSet rs;
     
     
            /*-----------------------------------Methode-----------------------------------------
            */
     
            /** Méthode de connection à la base
            * @param dbName = nom de la base de données
            * @param log = login d'acces
            * @param pass = mot de passe pour le log
            */
            public void connect(String dbName, String log, String pass) {
                    try {
                            //défini l'url exact de connection
                            url += dbName;
                            //charge le pilote
                            Class.forName("com.mysql.jdbc.Driver");
                            //connection
                            conn = DriverManager.getConnection(url, log, pass);
                            stmt = conn.createStatement();
                            System.out.println("Connection avec la base de données établie.");
                    } catch (SQLException E) {
                            System.out.println("Erreur de connexion à la base. Veuillez contacter votre administrateur système");
                    }
                    catch (ClassNotFoundException E) {
                            E.printStackTrace();
                    }
            }
     
             /** Méthode permettant de récuperer des données d'une table
            * @param req = requete SQL sous la forme : SELECT champs1,champs2 FROM table WHERE conditions
            * @return rs = resultat de la requete.
            */
            public ResultSet queryDatabase(String req) {
                    try {
                            ResultSet rs = stmt.executeQuery(req);
                    } catch (SQLException E) {
                            System.out.println("Erreur lors de l'envoie à la requete ");
                    }
                    return rs;
            }
    [.....]
    dans ma classe Test. java, je construis un objet ConnectionBase et je lui applique les deux methodes.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      public static void main(String[] args){
                    ConnectionBase connection = new ConnectionBase();
                    connection.connect("aaindex_local", "root", "mdp");
                    //connection.queryDatabase("Select identifiant from indexC");
            }
    Lorsque ej compile, je n'ai aucun probleme. par contre, lorsque je teste ma connection, il me sort cette erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
      java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
            at java.net.URLClassLoader$1.run(URLClassLoader.java:199)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
            at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
            at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
            at java.lang.Class.forName0(Native Method)
            at java.lang.Class.forName(Class.java:141)
            at ConnectionBase.connect(ConnectionBase.java:41)
            at ConnectionBase.main(ConnectionBase.java:100)
    Apparement il ne trouve pas le pilote "com.mysql.jdbc.Driver" Savez vous d'ou peut evnir mon erreur et comment la corriger, merci.

  2. #2
    Membre expérimenté
    Avatar de RanDomX
    Profil pro
    sans
    Inscrit en
    Mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Points : 1 407
    Points
    1 407
    Par défaut
    tu as des imports en debut de classes ?

  3. #3
    Membre du Club
    Inscrit en
    Juin 2003
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 55
    Points : 41
    Points
    41
    Par défaut
    oui :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    import java.sql.*;
    import java.lang.*;

  4. #4
    Membre du Club
    Inscrit en
    Juin 2003
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 55
    Points : 41
    Points
    41
    Par défaut
    Bien, donc je viens de corriger mon probleme, mais bon.. je suis pas tout à fait satisfait, il y a encore qq chose que je ne comprend pas...

    voilà ce que me dit le ficheir ReadMe du pilote
    Either copy the "com" and "org" subdirectories and all of their contents
    to anywhere you like, and put the directory holding the "com" and "org"
    subdirectories in your classpath, or...

    Put mysql-connector-java-3.0.11-stable-bin.jar in your classpath, either by adding the
    FULL path to it to your CLASSPATH enviornment variable, or putting it
    in $JAVA_HOME/jre/lib/ext.
    D'apres ce que j'ai compris (ben oui, moi et l'anglais, ça fait 2...) je devais soit copier coller les dossier "com" et "org" où je voulais et placer leur adresse exact dans le classpath (ce que j'ai fait, maintenant, ça marche)] ou alors placer l'adresse de mysql-connector-java-3.0.11-stable-bin.jar dans le classpath.

    donc, dans le premier cas, j'arrive à faire marcher mon code, dans le deuxieme, ça ne marche pas, il y aurait il qq chose que j'aurais mal compris?

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

Discussions similaires

  1. pilote JDBC MYSQL
    Par himou10 dans le forum JDBC
    Réponses: 2
    Dernier message: 03/11/2008, 11h47
  2. Probleme config JDBC mySql
    Par kahya dans le forum Administration système
    Réponses: 2
    Dernier message: 14/05/2008, 09h49
  3. probleme de pilote MYSQL
    Par guchr dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 19/05/2007, 11h34
  4. Probleme connection JDBC MYSQL
    Par neiek dans le forum JDBC
    Réponses: 6
    Dernier message: 20/04/2007, 14h03
  5. [debutant] probleme chargement driver (jdbc, mysql)
    Par ADSL[fx] dans le forum JDBC
    Réponses: 9
    Dernier message: 12/03/2006, 12h10

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