Problème de connexion JDBC
BOnjour,
Je suis en train de faire une classe de connexion à mysql.
Le problème c'est qu'à chaque fois, je me retrouve avec une erreur.
Citation:
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at Sgbd.<init>(Sgbd.java:57)
at Graphique.<init>(Graphique.java:64)
at Programme.main(Programme.java:14)
Mon code
Code:
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 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
| /**
* Cette classe sert à la connexion SGBD
* la source de connexion est lisible dans un fichier. Afin de pouvoir la modifier plus
* facilement.
*
* @author
*
* @since 22 nov 2007
* @version 1.0
* @see java.sql.*
* @see jdbc
*/
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.sql.*;
import javax.swing.JOptionPane;
//classe SGBD
public class Sgbd {
// on construit le driver
protected String driver;
//on construit le lien de la connexion
protected String sgbdUrl;
//on déclare l utilisateur et le mdp
protected String sgbdUtilisateur, sgbdMdp;
//on va mettre des informations dans un tableau afin de le traiter dans une boucle
protected String [] tabSgbd;
//Création de mon statement qui va me permettre d'executer mes requetes
protected Statement instruction;
//variable de connexion
protected Connection connexion;
//variable qui stocke resultat;
protected ResultSet resultat;
//fichier de connection
protected String fichierConnecteur;
//le talbeau va stocker le nom et champs de chaque fichier afin de le definir dans les tableaux des tables
protected String [] tab;
//le tableau sera la composition de la table en question
protected String [] themes, articles,chercheurs;
/** constructeur SGBD*/
public Sgbd(){
//Nom du driver
driver = "com.mysql.jdbc.Driver";
//nom du fichier
fichierConnecteur ="ConnecteurSgbd.txt";
//affectation
tabSgbd = new String[3];
// recuperation des informations pour la connexion dans un fichier
lireFichier();
try{
//on donne les valeurs aux variables qui vont servir à la connexion
sgbdUrl=tabSgbd[0];
sgbdUtilisateur=tabSgbd[1];
sgbdMdp=tabSgbd[2];
//on charge le pilote
Class.forName(driver);
//connexion à la base de données
connexion=DriverManager.getConnection(sgbdUrl,sgbdUtilisateur,sgbdMdp);
//Création de mon statement qui va me permettre d'executer mes requetes
instruction = connexion.createStatement();
}
catch (NullPointerException e){
JOptionPane.showMessageDialog(null,e.getMessage());
}
catch (Exception e) {
e.printStackTrace();
}
}
/** cette méthode sert à la connexion à la base sgbd *///vérifier le type de retour
public ResultSet requete(String r){
try{
//requete
resultat = instruction.executeQuery(r);
/*while(resultat.next()){
}*/
connexion.close();
}
catch (Exception e){
JOptionPane.showMessageDialog(null,"echec de la requete"+e.getMessage());
}
//a modifier
return resultat;
}
/** cette méthode sert à lire le fichier de conf*/
public void lireFichier(){
try{
//on réserve l'espace pour la lecture du fichier
BufferedReader r=new BufferedReader(new FileReader(fichierConnecteur));
//on lit la premiere ligne du fichier
String ligne = r.readLine();
// on declare une variable locale pour l incrementation
int i=0;
// tant qu on arrive pas a la fin du fichier
while (ligne != null && i<tabSgbd.length){
// on donne a tabLdap[i] la valeur de la ligne
tabSgbd[i]=ligne;
//on passe à la ligne suivante
ligne=r.readLine();
//on incrémente
i++;
}
//on ferme
r.close();
}
catch (IOException e){
JOptionPane.showMessageDialog(null,e.getMessage());
}
}
} |
Erreur classique, vous allez me dire. Pourtant j 'ai chargé le driver dans eclipse dans Build PAth auparavant. Celui ci plus précisèment: mysql-connector-java-5.1.5.zip
Mais je me retrouve toujours avec cette erreur. J'ai parcouru le forum mais impossible de passer cette erreur.
Pourriez vous m'aider svp?
Merci d'avance.