Connection mysql --> Erreur java.io.EOFException

Connection mysql --> Erreur java.io.EOFException - Java - Programmation

Marsh Posté le 23-09-2008 à 08:47:37    

Bonjour,
 
J'essaie de me connecter sur une base mysql depuis freebsd. J'utilise la jdk 1.5.0.16 sous freeebsd 6.2. J'utilise le mysql-connector-java-5.0.8 et j'ai aussi essayé avec le mysql-connector-java-5.1.6. La version de mysql server est la 5.0.51a. J'arrive à me connecter en commande mysql et la base fonctionne correctement. Le classpath du .jar pour le myql connector a bien été ajouté, mais dans mon programme java qui est comme cela :
 
         String driver = "com.mysql.jdbc.Driver";
         Class.forName(driver).newInstance();
         String url = "jdbc:mysql://localhost/oozv";
         Connection con = DriverManager.getConnection(url,"myUser","myPwd" );
         con.clearWarnings();
         con.close();
 
Avec le mysql connector 5.0.8 L'erreur suivante apparait :
 
Erreur com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:
 
** BEGIN NESTED EXCEPTION **
 
com.mysql.jdbc.CommunicationsException
MESSAGE: Communications link failure due to underlying exception:
 
** BEGIN NESTED EXCEPTION **
 
java.io.EOFException
MESSAGE: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.
 
STACKTRACE:
 
java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.
        at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1997)
        at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:573)
        at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1044)
        at com.mysql.jdbc.Connection.createNewIO(Connection.java:2775)
        at com.mysql.jdbc.Connection.<init>(Connection.java:1555)
        at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
        at java.sql.DriverManager.getConnection(DriverManager.java:525)
        at java.sql.DriverManager.getConnection(DriverManager.java:171)
        at ticketing.main(ticketing.java:19)

 
 
Et avec le mysql connector 5.1.6, l'erreur suivante apparait :
 
Erreur com.mysql.jdbc.CommunicationsException: Communications link failure
 
Last packet sent to the server was 0 ms ago.

 
 
Alors voilà un peu la description de mon problème. Si vous avez une solution ou des idées cela m'aiderait bien.
 
Merci beaucoup
 
Steve
 

Reply

Marsh Posté le 23-09-2008 à 08:47:37   

Reply

Marsh Posté le 25-09-2008 à 23:30:35    

Bonsoir  :hello: ,
 
Il semblerait que ton problème ne soit pas un cas isolé.
 
Il semblerait que tu perdes la connexion à MySQL. Pourrais-tu vérifier le fichier my.ini (fichier de configuration MySQL) si tu y trouves la ligne  
 

Code :
  1. wait_timeout=30


 
Essaye de la passer à une valeur plus grande au début ou carrément de la commenter, redémarres ce qu'il faut pour prendre en compte les modifications et à priori ça devrait passer.
 
Bonne chance !


Message édité par TomZ le 25-09-2008 à 23:34:59
Reply

Marsh Posté le 26-09-2008 à 07:14:51    

Salut,
 
Tout d'abord merci. J'avais déjà modifier ce paramètre, mais ca n'avait rien changé. Mon problème est maintenant résolu, j'ai du modifier plusieurs paramètres qui semblait couper la connexion et ne pas l'accepter. Le principal paramètre était que dans le fichier /etc/hosts.allow, j'ai du rajouter la ligne suivante :
mysqld : ALL : allow
Afin de pouvoir accéder au process de mysql pour effectuer la connexion.
 
Merci
 
Steve

Reply

Marsh Posté le 29-09-2008 à 21:38:34    

A priori, et j'en suis à peu près sur, tu te connectes sur une bdd distante, avec un certain temps de réponse.
Et tu utilises Swing, sans gérer les threads comme il est préconisé. => voir Thread de travail.


---------------
Formations Java & Web : http://www.robusta.io
Reply

Marsh Posté le 30-09-2008 à 08:27:18    

Cela m'étonne car je me connecte sur un base de donnée local sur Freebsd... Mon soft java tourne sur ce freebsd... Donc le problème que tu cites est peut-être bien possible, mais pas dans ce cas...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed