Bonjour,

je cherche à me connecter à une base MySQL depuis un programme Java.
J'ai bien importé le pilote fourni par MySQL.

La classe devant théoriquement permettre la connexion est donnée ici :

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
import java.sql.*;
 
public class BdD {
 
    public BdD(String base, String login, String password) {
        this.base = base;
        this.login = login;
        this.password = password;
    }
 
    private String pilote = "com.mysql.jdbc.Driver"; 
 
    private String base;
    private String login;
    private String password;
 
    Connection connect() {
        Connection conn = null;
        try{
            Class.forName(pilote);
            conn = DriverManager.getConnection("jdbc:mysql://localhost/" + base,login,password);
            System.out.println("Connexion : " + conn);
 
        } catch (Exception ex) 
        {
            System.out.println("Erreur MySQL - connect()");
            ex.printStackTrace();
        }
 
        return conn;
    }
 
    ResultSet sendquery(Connection conn, String __query) {
        ResultSet resultat = null;
        try {
            Statement instruction = conn.createStatement();
 
            resultat = instruction.executeQuery(__query);
        } 
        catch (SQLException ex) {
            ex.printStackTrace();
        }
 
 
        return resultat;
    }
}
Je l'appelle ainsi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
BdD bdd = new BdD("mabase","monlogin","monmotdepasse");
Connection conn = bdd.connect();
Ça parait tout simple, et pourtant, ça ne fonctionne pas. J'obtiens l'erreur suivante :
Erreur MySQL - connect()
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

Last packet sent to the server was 0 ms ago.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:539)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2103)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:718)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:539)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:302)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:282)
at java.sql.DriverManager.getConnection(DriverManager.java:620)
at java.sql.DriverManager.getConnection(DriverManager.java:200)
at parser.BdD.connect(BdD.java:28)
at parser.MyeDonkeyParser.main(MyeDonkeyParser.java:11)
Caused by: java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:310)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:176)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:163)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:381)
at java.net.Socket.connect(Socket.java:568)
at java.net.Socket.connect(Socket.java:518)
at java.net.Socket.<init>(Socket.java:415)
at java.net.Socket.<init>(Socket.java:232)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:253)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:280)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2026)
... 13 more
D'où pourrait provenir le problème ?

Merci d'avance !

Alban