IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JDBC Java Discussion :

Communication link failure


Sujet :

JDBC Java

  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    641
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 641
    Par défaut Communication link failure
    Bonjour,

    J'ai écrit un programme qui se connecte à une base MySQL mais j'obtiens l'erreur suivante :

    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
    java.sql.SQLException: Communication link failure: java.io.EOFException, underlying cause: null
     
    ** BEGIN NESTED EXCEPTION ** 
     
    java.io.EOFException
     
    STACKTRACE:
     
    java.io.EOFException
            at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1394)
            at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:1413)
            at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:625)
            at com.mysql.jdbc.Connection.createNewIO(Connection.java:1782)
            at com.mysql.jdbc.Connection.<init>(Connection.java:450)
            at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:411)
            at java.sql.DriverManager.getConnection(DriverManager.java:525)
            at java.sql.DriverManager.getConnection(DriverManager.java:171)
            at Application.connect(Application.java:20)
            at Application.<init>(Application.java:7)
            at Main.main(Main.java:5)
     
     
    ** END NESTED EXCEPTION **
     
     
            at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:1446)
            at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:625)
            at com.mysql.jdbc.Connection.createNewIO(Connection.java:1782)
            at com.mysql.jdbc.Connection.<init>(Connection.java:450)
            at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:411)
            at java.sql.DriverManager.getConnection(DriverManager.java:525)
            at java.sql.DriverManager.getConnection(DriverManager.java:171)
            at Application.connect(Application.java:20)
            at Application.<init>(Application.java:7)
            at Main.main(Main.java:5)
    Exception in thread "main" java.lang.NullPointerException
            at Application.<init>(Application.java:9)
            at Main.main(Main.java:5)

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2006
    Messages
    238
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 238
    Par défaut
    salut,

    peut tu nous donner un peu de code? parceque la a part te dire que le nullpointerException est du au fait que tu n'a pas initialize une variable je peut pas te dire grand chose.

  3. #3
    Membre éclairé

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    641
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 641
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    class Main {
    	private static Application application;
     
    	public static void main(String[] args) {
    		application = new Application();
    	}
    }
    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
    import javax.swing.*;
    import java.sql.*;
     
    class Application {
    	Connection cnt;
    	public Application() {
    		connect();
    		try {
    			cnt.close();
    		} catch(SQLException e) {
    			System.err.println("Erreur SQL !");
    			e.printStackTrace();
    		}
    	}
    	public void connect() {
    		try {
    			Class.forName("com.mysql.jdbc.Driver");
    			String url = "jdbc:mysql://localhost:3306/test";
    			cnt = DriverManager.getConnection(url, "root", "");
    		} catch(ClassNotFoundException e) {
    			System.err.println("Driver non chargé !");
    			e.printStackTrace();
    		} catch(SQLException e) {
    			System.err.println("Erreur SQL !");
    			e.printStackTrace();
    		}
    	}
    }

  4. #4
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 111
    Par défaut
    Class.forName("com.mysql.jdbc.Driver").newInstance();

  5. #5
    Membre éclairé

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    641
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 641
    Par défaut
    Citation Envoyé par eclesia
    Class.forName("com.mysql.jdbc.Driver").newInstance();
    Ca ne change rien. J'ai toujours la même erreur.

  6. #6
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Exception in thread "main" java.lang.NullPointerException
            at Application.<init>(Application.java:9)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cnt.close();  <--- NullPointer
    cnt est null ==> l'appel de methode connect() n'a pas initialisé la valeur de cnt a cause de l'exception jdbc.

    Cette exception jdbc arrive habituellement si on n'utilise pas la bonne version du driver jdbc/mysql. (cf. http://bugs.mysql.com/bug.php?id=7763)

    1. Assurez vous que vous avez la version du driver mysql correspondant a la version du serveur mysql
    2. Assurez vous qu'il n'y a pas un autre driver mysql accessible dans votre classpath
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  7. #7
    Membre éclairé

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    641
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 641
    Par défaut
    J'ai téléchargé à nouveau le driver JDBC et suivi la documentation pour l'installer.

    J'obtiens l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SQLException: No suitable driver found for jdbc:mysql://localhost/test?user=root&password=

  8. #8
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 111
    Par défaut
    la syntaxe doit etre differente avec le driver que tu as recupéré

  9. #9
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Par défaut
    Quel driver as-tu récupéré ? La version 5.0.4 de connectorJ ?

  10. #10
    Membre éclairé

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    641
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 641
    Par défaut
    Citation Envoyé par chtig
    Quel driver as-tu récupéré ? La version 5.0.4 de connectorJ ?
    Oui.

  11. #11
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Par défaut
    Tu utilises bien le même code qu'avant avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Class.forName("com.mysql.jdbc.Driver")
    et ça ça ne lève pas d'exception ?

  12. #12
    Membre éclairé

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    641
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 641
    Par défaut
    Maintenant, j'ai de nouveau droit à une "Communications link failure"... Avec Java on ne s'ennuie pas. Bon j'arrête là. Je vais développer mon application en Python, qui lui est capable de gérer une connexion MySQL.

  13. #13
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 111
    Par défaut
    tu dois faire un truc de travers.
    Dommage que tu arretes, un peu de perseverance!!!
    Quand on veut on peut.

Discussions similaires

  1. Communications link failure
    Par metalcoyote dans le forum JDBC
    Réponses: 4
    Dernier message: 14/04/2009, 10h00
  2. Communications link failure
    Par metalcoyote dans le forum JDBC
    Réponses: 1
    Dernier message: 09/04/2009, 10h40
  3. Réponses: 4
    Dernier message: 16/02/2009, 14h06
  4. Réponses: 1
    Dernier message: 31/12/2007, 16h00
  5. [MySQL et Servlet] Communication link failure
    Par spk4ever dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 27/12/2005, 09h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo