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

Tomcat et TomEE Java Discussion :

Problème JDBC sous Debian


Sujet :

Tomcat et TomEE Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2009
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 18
    Par défaut Problème JDBC sous Debian
    Bonjour à tous,

    J'ai installé Tomcat 6 sous Debian 5, j'ai également une base de données MySQL et le dernier connecteur JDBC pour MySQL dans la lib de Tomcat. Ma base de données fonctionne bien (test avec un fichier PHP), mais j'ai le problème suivant avec n'importe quelle page JSP :

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '????????????????' at line 1

    J'essaie juste d'afficher les tables avec la requête "show tables" donc le problème ne vient pas de la requête mais je pense d'un problème avec le JDBC. Pourtant si je ne renseigne pas le mot de passe, j'ai bien le message d'erreur clair par rapport au mot de passe donc le JDBC "marche un peu" quand même. Autre point, pas de connexion distante, je suis toujours en local.

    Quelqu'un aurait-il une idée ou une piste que je puisse explorer ?

    Merci d'avance.

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    on peux voir le code, le stack trace de l'erreur, et l'indication sur la ligne concernée par le stacktrace? Parce que là, c'est un peu vague.

  3. #3
    Membre averti
    Inscrit en
    Février 2009
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 18
    Par défaut
    alors voici le code de la page :

    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
    39
    40
    41
    42
    43
    44
    45
    46
    <%@ page import="java.io.*" import="java.lang.*" import="java.sql.*" %>
    <HTML>
    <HEAD>
    <TITLE>MySQL Mondrian Test</TITLE>
    </HEAD>
    <BODY>
    <%
    String mydriver = "com.mysql.jdbc.Driver";
    Class.forName(mydriver).newInstance();
     
    Connection con=null;
    Statement stmt=null;
    Statement stmt2=null;
    ResultSet rs=null;
     
    try{
    	String url="jdbc:mysql://localhost/Foodmart?user=root&password=password";
     
    	con=DriverManager.getConnection(url);
    	stmt=con.createStatement();
    	rs=stmt.executeQuery("show tables");
    	stmt2=con.createStatement();
     
    	while(rs.next()){
    		ResultSet rs2=null;
    		rs2 = stmt2.executeQuery("Select count(*) as total from " + rs.getString(1) + ";");
    		if(rs2.next())
    		{
    			out.println(rs.getString(1));
    			out.println("(" + rs2.getString(1) + ")<BR>");
    		}
    		rs2.close();
    	}
    	stmt2.close();
    	rs.close();
    	stmt.close();
    	con.close();
    }catch(Exception e){
    	out.println(e.getMessage());
    	out.println("<pre>");
    	e.printStackTrace(new java.io.PrintWriter(out));
    	out.println("</pre>");
    }
    %>
    </BODY>
    </HTML>

    et le stack trace :

    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
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '????????????????' at line 1
     
    com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '????????????????' at line 1
       at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1026)
       at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
       at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3558)
       at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3490)
       at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1959)
       at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2109)
       at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2642)
       at com.mysql.jdbc.ConnectionImpl.configureClientCharacterSet(ConnectionImpl.java:1818)
       at com.mysql.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:3544)
       at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2156)
       at com.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:781)
       at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:348)
       at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:284)
       at java.sql.DriverManager.getConnection(libgcj.so.90)
       at java.sql.DriverManager.getConnection(libgcj.so.90)
       at org.apache.jsp.showtables_jsp._jspService(showtables_jsp.java:74)
       at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
       at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
       at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
       at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
       at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
       at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
       at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
       at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
       at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
       at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
       at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
       at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
       at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
       at java.lang.Thread.run(libgcj.so.90)

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    C'est un problème à l'appel con=DriverManager.getConnection(url);. Le driver jdbc que tu utilise est-il en accord avec la version de mysql que tu utilise. N'utilise tu pas un driver trop 'vieux' ou, à contratio, un driver récent sur une vieille base? Je vois que tu utilise libgcj. As-tu essayé en utilise la java de sun plutot que la java open souce de ta distribution?

  5. #5
    Membre averti
    Inscrit en
    Février 2009
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 18
    Par défaut
    Super, ca marche !
    C'était bien ça, j'avais la version de mysql 5.0.x au lieu de la version 5.1, c'est ce qui posait problème dès le départ. Et j'ai désinstallé aussi la libgcj pour avoir la version java de Sun et c bon maintenant ca marche.

    Merci beaucoup à toi Tchize !

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 21/11/2011, 09h26
  2. Problème jdbc:mysql sous debian
    Par Little-scaraby dans le forum JDBC
    Réponses: 2
    Dernier message: 27/06/2010, 23h22
  3. probléme UFS sous debian etch avec kernel 2.6.24
    Par gregoonix dans le forum Debian
    Réponses: 14
    Dernier message: 22/02/2008, 13h52
  4. Problème compilation Version 8.0.1 sous Debian Sarge
    Par LIndien dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 04/02/2005, 21h38
  5. [Install] Problème de lancement sous debian sid
    Par SoaR245 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 18/02/2004, 10h01

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