Java : mysql --> Erreur java.io.EOFException
stou05
Messages postés
16
Statut
Membre
-
stou05 Messages postés 16 Statut Membre -
stou05 Messages postés 16 Statut Membre -
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
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
A voir également:
- Java.io.eofexception
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Waptrick java voiture - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
Dans ce cas le problème doit venir d'un timeout. Ton serveur SQL est configuré de telle manière que :
- toutes les connections / objets non utilisés après un certain temps sont automatiquement supprimé. Ce temps est configurable dans l'option "wait_timeout" de ton serveur. Essai de le configurer avec un plus grand temps (>2s par exemple pour être sur dans un premier temps) et regarde si ça change quelque chose.
Mais le wait_timeout est fixé à 28800 et le connect_timeout à 5. Donc je ne pense pas que ce soit cela qui bloque.
Je comprends vraiment pas ce qui peut bloquer... surtout que si je teste mone programme sur un ature serveur il n'y a pas de problème...
Je sais que ce problème est récurrent, tu devrais peut-être trouvé la solution qui te correspond sur le net avec une recherche plus approfondie (que celle que j'ai faite)
Sinon éventuellement tu ne peux pas changer de version pour le connecteur ou la base ?
Merci de ton aide!!
Salutations
Steve