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 :
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 CLASSPATH="[...]:/home/nounou/java/mysql-connector-java-3.0.11-stable-bin.jar"
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
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; } [.....]
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 public static void main(String[] args){ ConnectionBase connection = new ConnectionBase(); connection.connect("aaindex_local", "root", "mdp"); //connection.queryDatabase("Select identifiant from indexC"); }
Apparement il ne trouve pas le pilote "com.mysql.jdbc.Driver" Savez vous d'ou peut evnir mon erreur et comment la corriger, merci.
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)
Partager