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.