Bonjour à tous,
J'essaie de me connecter à une base de données se trouvant à une certaine adresse IP. Cependant, j'ai une erreur que je n'arrive pas à résoudre (je suis débutant en jdbc). Voici ma classe qui gère la connexion avec la base de données :
En ce qui concerne l'installation de jdbc, j'ai bien ajouté le connecteur (mysql-connector-java-5.0.5-bin.jar) dans les librairies du projet.
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
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 public class ConnexionBDD { // Le driver pour se connecter à la base de données private static String driver = "com.mysql.jdbc.Driver"; // L'URL de la base de données private static String url = "jdbc:mysql://192.168.2.24/"; // Le login pour la connexion à la base de données private static String login = "dodo"; // Le mot de passe pour la connexion à la base de données private static String motDePasse = "dada"; // La connexion private static Connection connexion = null; // Le demande de requête private static Statement demande = null; // Le résultat de la requête private static ResultSet resultat = null; /** * Retourne la connexion à la base de données. * * @param baseDeDonnées La base de données sur laquelle se connecter * @return connexion Connexion à la base de données * @since 1.0 */ private static Connection connexion(String baseDeDonnees) { // Si la connexion est null if (connexion == null) { try { // On construit l'URL de la base de données url += baseDeDonnees; // On récupère la connexion à partir du login et du mot de passe connexion = DriverManager.getConnection(url, login, motDePasse); } catch (SQLException exception) { // On affiche la pile d'appel de l'exception exception.printStackTrace(); // On affiche un message System.out.println("La connexion à la BDD n'a pas été établie"); } } // On retourne la connexion return connexion; } /** * Exécute une requête SQL de type "SELECT ..." et retourne le résultat. * * @param baseDeDonnees La base de données sur laquelle se connecter * @param requete La requete à exécuter * @throws SQLException Exception levée lors de la demande ou la requête * @return resultat Résultat de la requete SQL * @since 1.0 */ public static ResultSet executeRequete(String baseDeDonnees, String requete) throws SQLException { // On essaie le chargement du driver try { // Chargement du driver de la base de données Class.forName(driver); } catch (ClassNotFoundException exception) { // On affiche la pile d'appel de l'exception exception.printStackTrace(); // On affiche un message System.out.println("Le driver jdbc n'a pas été trouvé"); } // On récupère la connexion à la base de données connexion = connexion(baseDeDonnees); // On crée une demande de requête demande = connexion.createStatement(); // On exécute la requête resultat = demande.executeQuery(requete); // On ferme la connexion // Si la connexion n'est pas null if (connexion != null) { try { // On ferme la connexion connexion.close(); } catch (SQLException exception) { // On affiche la pile d'appel de l'exception exception.printStackTrace(); // On affiche un message System.out.println("La connexion à la base de données n'a pas" + " été fermée"); } } // On retourne le résultat de la requête return resultat; } }
L'exception se produit lors de la ligne suivante :
Et voici mon exception :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 // On récupère la connexion à partir du login et du mot de passe connexion = DriverManager.getConnection(url, login, motDePasse);
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
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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129run: com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception: ** BEGIN NESTED EXCEPTION ** java.net.ConnectException MESSAGE: Connection refused: connect STACKTRACE: java.net.ConnectException: Connection refused: connect at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) at java.net.Socket.connect(Socket.java:519) at java.net.Socket.connect(Socket.java:469) at java.net.Socket.<init>(Socket.java:366) at java.net.Socket.<init>(Socket.java:209) at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:173) at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:267) at com.mysql.jdbc.Connection.createNewIO(Connection.java:2739) at com.mysql.jdbc.Connection.<init>(Connection.java:1553) at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266) at java.sql.DriverManager.getConnection(DriverManager.java:582) at java.sql.DriverManager.getConnection(DriverManager.java:185) at fr.apreslaclasse.alcgged.modele.ConnexionBDD.connexion(ConnexionBDD.java:57) at fr.apreslaclasse.alcgged.modele.ConnexionBDD.executeRequete(ConnexionBDD.java:96) at fr.apreslaclasse.alcgged.modele.GestionnaireDocument.rechercheID(GestionnaireDocument.java:151) at fr.apreslaclasse.alcgged.vue.FenetrePrincipale.actionPerformed(FenetrePrincipale.java:203) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at java.awt.Component.processMouseEvent(Component.java:6216) at javax.swing.JComponent.processMouseEvent(JComponent.java:3265) at java.awt.Component.processEvent(Component.java:5981) at java.awt.Container.processEvent(Container.java:2041) at java.awt.Component.dispatchEventImpl(Component.java:4583) at java.awt.Container.dispatchEventImpl(Container.java:2099) at java.awt.Component.dispatchEvent(Component.java:4413) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4556) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4220) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4150) at java.awt.Container.dispatchEventImpl(Container.java:2085) at java.awt.Window.dispatchEventImpl(Window.java:2475) at java.awt.Component.dispatchEvent(Component.java:4413) at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) ** END NESTED EXCEPTION ** Last packet sent to the server was 16 ms ago. at com.mysql.jdbc.Connection.createNewIO(Connection.java:2814) at com.mysql.jdbc.Connection.<init>(Connection.java:1553) at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266) at java.sql.DriverManager.getConnection(DriverManager.java:582) at java.sql.DriverManager.getConnection(DriverManager.java:185) at fr.apreslaclasse.alcgged.modele.ConnexionBDD.connexion(ConnexionBDD.java:57) at fr.apreslaclasse.alcgged.modele.ConnexionBDD.executeRequete(ConnexionBDD.java:96) at fr.apreslaclasse.alcgged.modele.GestionnaireDocument.rechercheID(GestionnaireDocument.java:151) at fr.apreslaclasse.alcgged.vue.FenetrePrincipale.actionPerformed(FenetrePrincipale.java:203) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at java.awt.Component.processMouseEvent(Component.java:6216) at javax.swing.JComponent.processMouseEvent(JComponent.java:3265) at java.awt.Component.processEvent(Component.java:5981) at java.awt.Container.processEvent(Container.java:2041) at java.awt.Component.dispatchEventImpl(Component.java:4583) at java.awt.Container.dispatchEventImpl(Container.java:2099) at java.awt.Component.dispatchEvent(Component.java:4413) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4556) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4220) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4150) at java.awt.Container.dispatchEventImpl(Container.java:2085) at java.awt.Window.dispatchEventImpl(Window.java:2475) at java.awt.Component.dispatchEvent(Component.java:4413) La connexion à la BDD n'a pas été établie at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at fr.apreslaclasse.alcgged.modele.ConnexionBDD.executeRequete(ConnexionBDD.java:99) at fr.apreslaclasse.alcgged.modele.GestionnaireDocument.rechercheID(GestionnaireDocument.java:151) at fr.apreslaclasse.alcgged.vue.FenetrePrincipale.actionPerformed(FenetrePrincipale.java:203) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at java.awt.Component.processMouseEvent(Component.java:6216) at javax.swing.JComponent.processMouseEvent(JComponent.java:3265) at java.awt.Component.processEvent(Component.java:5981) at java.awt.Container.processEvent(Container.java:2041) at java.awt.Component.dispatchEventImpl(Component.java:4583) at java.awt.Container.dispatchEventImpl(Container.java:2099) at java.awt.Component.dispatchEvent(Component.java:4413) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4556) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4220) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4150) at java.awt.Container.dispatchEventImpl(Container.java:2085) at java.awt.Window.dispatchEventImpl(Window.java:2475) at java.awt.Component.dispatchEvent(Component.java:4413) at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) BUILD SUCCESSFUL (total time: 29 seconds)







Répondre avec citation

Partager