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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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.

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