-
message d'erreur MYSQL
Bonjour à tous,
j'ai un message d'erreur que j'arive pas à résoudre :cry: sachant que j'ai la configueration suivant :
-MYSQL 5.0 server
-Apache Tomcat 5.0.30 Server
message d'erreur:
///#############################################//
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:
** BEGIN NESTED EXCEPTION **
java.io.EOFException
STACKTRACE:
java.io.EOFException
at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1963)
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2375)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2874)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1623)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1715)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3243)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3172)
at com.mysql.jdbc.Statement.executeQuery(Statement.java:1197)
at call.serveur.doPost(serveur.java:799) at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
///############################################//
-connection à MYSQL via la classe serveur.java:
//##############CODE##################//
Statement TestTA = con.createStatement();
String req = "Select count(*),(select id from personnel where id=\""+myfiche.IDTA+"\") from personnel where ID=\"" +
myfiche.IDTA +
"\" and Password=\"" + myfiche.PAssword + "\" and isconnected=0";// retourner ici and isconnected=0
ResultSet rstest = TestTA.executeQuery(req);
rstest.next();
int isconnected=rstest.getInt(1);
String IDTA=rstest.getString(2);
if (isconnected == 0)
{ ///Loguin ou mot de passe incorrecte
myfiche.typeofquery = "NotOk";
reponse.writeObject( (ListFiches) myfiche);
}
//##################FIN CODE################//
aidez moi c'est urguent,
Coordialement triger100.
-
Salut,
Alors déjà, je te conseilles d'utiliser les PreparedStatement.. Ça te fera des requêtes beaucoup plus lisible (cf. tutoriel)
Ensuite, il faut que tu cherches le fichier 'my.cfg' sur ton disque dur. Tu l'ouvres avec un éditeur de texte, et tu cherches la ligne wait_timeout que tu mettras à une valeur plus élevée : par exemple.
Voilà, ++
Gueritarish
PS: 30 secondes de recherche :google: mon permis de trouver ce résultat ;)
-
+1 pour les PreparedStatement, ça t'évitera aussi des problèmes genre SQL injection...