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 :

java.sql.SQLException: Bad handshake


Sujet :

JDBC Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 69
    Points : 63
    Points
    63
    Par défaut java.sql.SQLException: Bad handshake
    Bonjour,

    Je ne sais pas précisément où je dois poster ce problème car je ne sais pas précisément d'où vient l'erreur.

    Contexte :

    Je reprends un projet web (struts, ...). Après des recherches, j'ai fini par cerner ce que je pense être pertinent pour le problème.

    Lorsque j'accède à cette page JSP :

    index.jsp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <%@ page import="java.sql.*" %>
     
    <%
    String url = "jdbc:mysql://localhost/schema";
    String user = "user";
    String pass = "password";
    String myDriver = "com.mysql.jdbc.Driver";
     
    try {
      Class.forName(myDriver);
      con = DriverManager.getConnection(url, user, pass);
    } catch (Exception e) {...}
    %>
    j'ai le message d'erreur suivant sur la console :

    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
    java.sql.SQLException: Communication link failure: Bad handshake
    	at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:652)
    	at com.mysql.jdbc.Connection.createNewIO(Connection.java:1511)
    	at com.mysql.jdbc.Connection.<init>(Connection.java:485)
    	at com.mysql.jdbc.Driver.connect(Driver.java:341)
    	at java.sql.DriverManager.getConnection(DriverManager.java:582)
    	at java.sql.DriverManager.getConnection(DriverManager.java:185)
    	at org.apache.jsp.index_jsp._jspService(index_jsp.java:56)
    	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
    	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    	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:213)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
    	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
    	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    	at java.lang.Thread.run(Thread.java:619)
    Ce qui est étrange, c'est que le même fichier dans un autre projet Tomcat marche sans problème.

    De même, une application Java écrite à la main dans le même projet (c'est-à-dire utilisant les mêmes lib sous Eclipse) arrive également à établir la connexion à la base de données MySQL.

    Ce n'est donc pas le code qui est à incriminer, mais l'environnement sous Eclipse pour ce projet Tomcat qui pose problème (a priori).

    Je suis vraiment sans réponse face à ça depuis 2 semaines. Est-ce que vous avez une idée ou des pistes ?

    ---

    Environnement :

    - Apache Tomcat 5.5.20
    - Eclipse 3.2.1
    - Plugin Eclipse Tomcat (Sysdeo)
    - Java EE 5 SDK
    - mysql-connector-java-5.0.4-bin.jar
    - Struts-1.3
    - Hibernate2

    - Serveur MySQL 5.0.27

    Je lance évidemment le serveur Tomcat à partir d'Eclipse.

    piloupy

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 69
    Points : 63
    Points
    63
    Par défaut
    Dans une application Tomcat, il y a un répertoire WEB-INF/lib dans lequel visiblement eclipse va chercher certaines lib comme celle de mysql-connector-java.

    Comme c'est un projet que je reprends, il y avait deja la lib mysql-connector-java-3.x.jar et j'y avais mis en plus la version 5.x. Le Bad Handshake vient de la confusion entre les 2 lib.

    Comme beaucoup d'informaticiens vous le diront, c'est par hasard que j'ai trouvé d'où venait l'erreur, en copiant le répertoire lib vers mon projet vierge qui arrivait à faire marcher JDBC. Quand il n'a plus marché, ça m'a mis la puce à l'oreille.

    piloupy

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 25/01/2006, 18h25
  2. Réponses: 5
    Dernier message: 12/12/2005, 13h13
  3. Réponses: 3
    Dernier message: 24/11/2005, 12h24
  4. java.sql.SQLException: read-only
    Par mehdi.kiwi dans le forum Oracle
    Réponses: 6
    Dernier message: 17/05/2005, 16h46
  5. [JDBC] java.sql.SQLException: Closed Statement
    Par cmoulin dans le forum JDBC
    Réponses: 4
    Dernier message: 03/09/2004, 17h22

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