Précédent   Forum des professionnels en informatique > Java > Général Java > JDBC
JDBC Forum d'entraide sur l'API JDBC (Java Database Connectivity) et l'accès aux bases de données. Avant de poster -> FAQ JDBC
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/12/2011, 15h19   #1
Invité régulier
 
Inscription : mars 2009
Messages : 26
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 26
Points : 5
Points : 5
Par défaut JDBC avec NetBeans

Bonjour,

Je suppose que la question a déjà due être posée, mais étant donné que ça dépends grandement des configurations de chacun, je préfère ouvrir un nouveau sujet pour cela.

Je cherche donc à lire une base de données MySQL avec Java. Pour la petite histoire, ça marchait très bien la semaine dernière, jusqu'à ce que je crame mon pc, que j'en change, que je réinstalle tout, et aujourd'hui soit j'oublie un truc que j'avais configuré la dernière fois, soit il y a un problème de compatibilité, je ne sais pas.

Je travaille avec NetBeans 6.9.1 et la jdk 1.7.0 :



J'ai installé MySQL Server 5.5.19 et il se lance très bien :



J'ai configuré le PATHCLASS de windows de cette manière (dans les variables d'environnement directement) :

Code :
CLASSPATH = .;"C:\Program Files\NetBeans 6.9.1\ide\modules\ext\mysql-connector-java-5.1.6-bin.jar"
J'ai aussi configuré le projet sous NetBeans de cette manière :



Et mon code est le suivant :

Code :
1
2
3
4
5
6
7
try {
                        Class.forName("com.mysql.jdbc.Driver");
			Global.debug("BDD : DRIVER OK ! ");
 
		} catch (ClassNotFoundException e) {
                    Global.debug("BDD : La classe com.mysql.jdbc.Driver n a pas ete trouve");
                }
Et il me sort qu'il ne trouve pas la classe du driver. Est-ce que vous auriez une idée de comment résoudre le problème ? J'ai désinstallé NetBeans, réinstallé, essayé la version 7.0.1, puis revenu à cette version, etc...

Je ne comprend pas pourquoi ça bug.

Merci de votre aide !
DarkGriffin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2011, 09h31   #2
Membre actif
 
Inscription : avril 2002
Messages : 460
Détails du profil
Informations forums :
Inscription : avril 2002
Messages : 460
Points : 180
Points : 180
Salut,
Je se suis pas derrière mon ordi..et je n'utilise pas MySQL pour la base de données... mais Derby.

A mon avis c'est du fait je suppose que tu n'indiques pas le chemin où se trouve ta base de données...
Je te remets mon code ( suite à un post précédent de ma part).. qui pourra peut être t'inspirer sur la manière de procéder..
Mysql n'étant pas Derby, mais quelques part la logique devrait y être ..
Il faudra juste adapter par rapport à ton driver Mysql..

En espérant que ça pourra t"aider ou te guider..
A+
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
public static void main(String[] args) {
 
 
        // Lignes suivantes rajoutées :
 
        try {
            Class.forName("org.apache.derby.jdbc.EmbeddedDriver").newInstance();
 
       } catch (InstantiationException ex) {
            ex.printStackTrace();
       } catch (IllegalAccessException ex) {
            ex.printStackTrace();
       } catch (ClassNotFoundException ex) {
           JOptionPane.showMessageDialog(null, "EmbeddedDrivers non trouvé");
            System.exit(1);
        }
 
        try {
          Class.forName("org.apache.derby.jdbc.ClientDriver");
        } catch ( ClassNotFoundException ex) {
           JOptionPane.showMessageDialog(null, "derby.jdbc.ClientDriver non trouvé...");
            System.exit(1);
       }
 
        String url = "/home/telemak/Prog/Java/BasesDerby/Test";
        String login = "admin";
        String password = "admin";
        try {
 
 
            Connection conn = DriverManager.getConnection(url,login,password);
        } catch (SQLException ex) {
            ex.printStackTrace();;
            JOptionPane.showMessageDialog(null," Connection refusée "+ ex);
            System.exit(1);
 
 
        }
 
        launch(TestBase.class, args);
    }
}
Telemak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2011, 13h55   #3
Invité régulier
 
Inscription : mars 2009
Messages : 26
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 26
Points : 5
Points : 5
Merci pour ta réponse. Par contre, je ne suis pas certain de comprendre.

A quoi sert de charger deux drivers ? Et à quoi sert la méthode "newInstance()" sur le chargement du premier driver ?
DarkGriffin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2011, 19h34   #4
Membre actif
 
Inscription : avril 2002
Messages : 460
Détails du profil
Informations forums :
Inscription : avril 2002
Messages : 460
Points : 180
Points : 180
Oui désolé pour les deux drivers j'ai fait un copier/coller rapide...c'était pour mes test..

NewInstance(), permet de générer des types d'exceptions...

a+
Telemak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/12/2011, 21h07   #5
Invité régulier
 
Inscription : mars 2009
Messages : 26
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 26
Points : 5
Points : 5
Je n'ai afficher que le début de mon code, le reste ressemble fortement à ce que tu as mis, mais ce n'était pas la peine de le mettre puisque c'est juste le class.forname qui ne marche pas.

Je ne sais pas quoi faire...
DarkGriffin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2011, 12h32   #6
Membre chevronné
 
Avatar de fraco
 
Inscription : juin 2006
Messages : 663
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 663
Points : 644
Points : 644
Salut !

Un petit tour dans google : tu rentres "netbens mysql classforname" y'a des messages...

Bonne chance !
fraco est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h51.


 
 
 
 
Partenaires

Hébergement Web