Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
996 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [QST]Tomcat 4.1 et bd mySQL

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[QST]Tomcat 4.1 et bd mySQL

n°1303509
cybersplas​h
Posté le 11-02-2006 à 16:53:12  profilanswer
 

Salut
 
je suis en train de faire un site en jsp avec un server tomcat 4.1
 
j'ai besoin de me connecter à une bd mysql et voila que les problèmes arrivent :)
 
Donc j'ai téléchargé les driver JDBC de mySQL j'ai placé le .jar dans common/lib de tomcat
J'ai ensuite fait mon connectionBean mais rien à faire ca marche pas
 
Je vous mets mon connectionBean ainsi qu'une page de test pour voir si mon code est correct (je n'obtient aucune erreur sur mon code je catch juste une erreur sql alors que ma requete marche)
 

Code :
  1. package sgbd2;
  2. import java.sql.*;
  3. public class ConnectionBean{
  4.   private static final String driver="org.gjt.mm.mysql.Driver";
  5.   private static final String dbURL="jdbc:mysql://localhost:3306/caddie";
  6.   private static final String login="root";
  7.   private static final String password="";
  8.   private Connection connection;
  9.   private Statement statement;
  10.   public ConnectionBean() {
  11.     try {
  12.       Class.forName(driver);
  13.       connection=DriverManager.getConnection(dbURL,login,password);
  14.       statement=connection.createStatement();
  15.     }
  16.     catch (ClassNotFoundException e) {
  17.       System.err.println("ConnectionBean : pilote non disponible" );
  18.       connection = null;
  19.     }
  20.     catch (SQLException e) {
  21.       System.err.println("ConnectionBean : pilote non chargé" );
  22.       connection = null;
  23.     }
  24.   }
  25.   public Connection getConnection() {
  26.     return connection;
  27.   }
  28.   public void commit() throws SQLException {
  29.     connection.commit();
  30.   }
  31.   public void rollback() throws SQLException {
  32.     connection.rollback();
  33.   }
  34.   public void setAutoCommit(boolean autoCommit)
  35.     throws SQLException {
  36.     connection.setAutoCommit(autoCommit );
  37.   }
  38.   public ResultSet executeQuery(String sql) throws SQLException {
  39.     return statement.executeQuery(sql);
  40.   }
  41.   public int executeUpdate(String sql) throws SQLException {
  42.     return statement.executeUpdate(sql);
  43.   }
  44.   protected void finalize() {
  45.     try {
  46.       connection.close();
  47.     }
  48.     catch (SQLException e) { }
  49.   }
  50. }


 
le fichier de test
 

Code :
  1. <html>
  2. <body>
  3. <%@ page import="sgbd2.ConnectionBean,java.lang.*,java.sql.*"%>
  4. <%
  5.        ResultSet rs;
  6.          ConnectionBean db = new ConnectionBean();
  7.          try {
  8.              String sql ="select id from test where id=5";
  9.              rs = db.executeQuery(sql);
  10.              out.println(rs.getString("id" ));
  11.              rs.close();
  12.          } catch (Exception e){throw new ServletException("Erreur SQL" );}
  13. %>
  14. </body>
  15. </html>


 
Merci d'avance pour vos réponses :)

mood
Publicité
Posté le 11-02-2006 à 16:53:12  profilanswer
 

n°1303527
souk
Tourist
Posté le 11-02-2006 à 18:11:17  profilanswer
 

c'est quoi le message de l'SQLException ? (je parle bien de celui de l'exception, pas de ton "ConnectionBean : pilote non chargé" [:itm] )
si ca se trouve c'est juste que t'as pas le droit de te connecter ... mais vu que te ne fais rien de l'exception ... [:petrus75]

n°1303550
cybersplas​h
Posté le 11-02-2006 à 19:44:11  profilanswer
 

le message je le génère moi meme donc elle n'apporte pas vraiment d'information
 
le message est Erreur SQL
 
le problème doit venir de l'installation des pilotes JDBC
 
mon code ne pose aucun problème "normalement" :)
c'est plus au niveau de la configuration de tomcat pqc ma base de donnée est accessible en php

n°1303569
souk
Tourist
Posté le 11-02-2006 à 20:26:49  profilanswer
 

[:kiki]
 
au lieu de faire  

Code :
  1. catch (SQLException e) {
  2.      System.err.println("ConnectionBean : pilote non chargé" );
  3.      connection = null;
  4.    }


 
fais plutot un truc du genre

Code :
  1. catch (SQLException e) {
  2.      e.printStackTrace();
  3.    }


 
comme ca tu connaitras la cause de l'exception, a mon avis tu en sauras plus a ce moment [:itm]

n°1303570
souk
Tourist
Posté le 11-02-2006 à 20:28:05  profilanswer
 

de meme que ca
 

Code :
  1. catch (Exception e){throw new ServletException("Erreur SQL" );


 
c'est stupide, tu perds la cause de l'exception, e est perdue a jamais, comment comptes tu trouver la cause de l'exception si tu jettes toutes les info qui pourraient etre utiles ???

n°1303678
cybersplas​h
Posté le 12-02-2006 à 11:57:03  profilanswer
 

J'ai fait ce que vous m'avez conseillé et j'ai bien un problème au niveau des drivers ils ne sont pas trouvés
 
je voudrais savoir comment les installer :)

n°1303679
souk
Tourist
Posté le 12-02-2006 à 12:03:24  profilanswer
 

on installe pas, on les mets dans le classpath de l'appli web ou dans le repertoire qui contient les librairies partagees de tomcat

n°1303691
cybersplas​h
Posté le 12-02-2006 à 12:20:04  profilanswer
 

faut pas modifier le server.xml ?
 
normalement juste en le mettant dans le common/lib ca devrait marcher c'est ca ?

n°1303749
the real m​oins moins
Posté le 12-02-2006 à 16:16:32  profilanswer
 

met un password à ton user mysql, me semble avoir déjà eu des soucis avec des mdp vides..


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1304679
bugbreeder
Posté le 13-02-2006 à 19:03:19  profilanswer
 

cybersplash a écrit :

faut pas modifier le server.xml ?


 
Non, jamais besoin pour les drivers.
 

cybersplash a écrit :

normalement juste en le mettant dans le common/lib ca devrait marcher c'est ca ?


 
Oui, en gros soit tu veux pouvoir tester un programme avec différents drivers (.jar) que tu mets dans le "WEB-INF/lib" de chaque application, soit tu utilise toujours le même driver et tu le mets dans le "common/lib" une fois pour toutes et alors bien sûr les applications n'ont plus besoin de l'avoir puisque le serveur le connaît déjà.

mood
Publicité
Posté le 13-02-2006 à 19:03:19  profilanswer
 

n°1304681
bugbreeder
Posté le 13-02-2006 à 19:07:06  profilanswer
 

the real moins moins a écrit :

met un password à ton user mysql, me semble avoir déjà eu des soucis avec des mdp vides..


 
+1.
En principe MySQL s'utilise directement avec login=root et pas de password, mais j'ai souvent eu des problèmes bizarres avec des applications qui exigeaient des mots de passe pour fonctionner, plutôt liées à des couches de service "bas niveau" genre pools de connexion Apache donc je n'ai pas vraiment cherché.
Donc soit tu mets un mot de passe à root, soit tu crées un autre utilisateur avec son propre mot de passe.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [QST]Tomcat 4.1 et bd mySQL

 

Sujets relatifs
[QST] Sur un script [RESOLU]Script style xt dump pou restaurer une BDD mysql ?
PB: Connexion mysql via jndimigrer application informix > mysql?
Gestion d'images sous MySQLinstallation mysql sur debian 2.6.15
[MySQL] Je coince sur un problème MySQL/PHPProblème de Torque\Mysql
Débutant en POO, class mysql php5[mySQL] PB regexp + convert utf8 > latin
Plus de sujets relatifs à : [QST]Tomcat 4.1 et bd mySQL


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR