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

Servlets/JSP Java Discussion :

Pb avec taglib sql


Sujet :

Servlets/JSP Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 100
    Points : 71
    Points
    71
    Par défaut Pb avec taglib sql
    Bonjour
    Sauriez vous me dire comment la connexion à ma base se termine ?
    Dans un projet, toutes mes jsp contiennent ce type de syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <sql:setDataSource
       url="jdbc:oracle:thin:@hoedic:1521:maBase"
       driver="oracle.jdbc.driver.OracleDriver"
       user="user"
       password="pwd" />
     
    <sql:query var="lst">
         SELECT var1 FROM maTable
    </sql:query>
    <core:forEach var="row" begin="0" items="${lst.rowsByIndex}">
         <core:set var="var" value="${row[0]}"/>
    </core:forEach>
    Mais dans certaines jsp, j'ai beaucoup de requêtes et je rencontre alors aléatoirement le problème suivant :

    connexion refused
    (ERROR_STACK=(ERROR=(CODE=12519)

    Comment faire bien ?
    Merci de votre aide

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 442
    Points : 540
    Points
    540
    Par défaut
    Bonjour,

    C'est un message Oracle. Tu es sûr de ton user/password ?

    Si oui, peux-tu exécuter la commande DOS suivante et donner la sortie :


  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 100
    Points : 71
    Points
    71
    Par défaut Je suis sûre de la connexion
    La page s'affiche parfois correctement

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 442
    Points : 540
    Points
    540
    Par défaut
    Il faut appeler Mulder

    Alors pour faire ça bien il faudrait que tu configures un pool de connexion.

    Tu utilises Tomcat ?

    Si oui, crées-toi un fichier context.xml dans META-INF comme ça :

    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
    <?xml version="1.0" encoding="UTF-8"?>
    <Context>
      <Resource
        auth="Container"
        description="maBase Connection"
        name="jdbc/maBase"
        type="javax.sql.DataSource"
        username="user"
        password="pwd"
        driverClassName="oracle.jdbc.OracleDriver"
        maxIdle="100"
        maxWait="5000"
        validationQuery="SELECT var1 FROM maTable"
        url="jdbc:oracle:thin:@hoedic:1521:maBase"
        maxActive="40"/>
    </Context>
    Et ensuite tu fais dans ta jsp :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <sql:setDataSource dataSource="jdbc/maBase"/>

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 100
    Points : 71
    Points
    71
    Par défaut
    oui j'utilise tomcat et à la fin le contexte il se ferme tout seul ?

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 442
    Points : 540
    Points
    540
    Par défaut
    Citation Envoyé par loulag07 Voir le message
    à la fin le contexte il se ferme tout seul ?


    Comment ça ? Bah quand tu arrêtes Tomcat proprement, il ferme les connexions Oracle avant de terminer le processus Java.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 100
    Points : 71
    Points
    71
    Par défaut
    quand tu arrêtes Tomcat proprement, il ferme les connexions Oracle avant de terminer le processus Java.
    si je comprends bien : un appel à l'application tomcat crée une connexion à la base et elle n'est refermée que quand on arrête tomcat ?
    Et si tomcat n'est jamais arrêté ?

    Entre temps dans chaque jsp parcourue, il n'y a qu'une seule connexion utilisée.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 100
    Points : 71
    Points
    71
    Par défaut
    ma question en fait c'est :
    <sql:close> ça n'existe pas ?

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 100
    Points : 71
    Points
    71
    Par défaut :cry:
    le contexte
    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
    <?xml version="1.0" encoding="UTF-8"?>
    <Context>
      <Resource
        auth="Container"
        description="maBaseConnection"
        name="jdbc/maBase"
        type="javax.sql.DataSource"
        username="user"
        password="pwd"
        driverClassName="oracle.jdbc.driver.OracleDriver"
        maxIdle="100"
        maxWait="5000"
        validationQuery="SELECT count(*) FROM users"
        url="jdbc:oracle:thin:@hoedic:1521:maBase"
        maxActive="10"/>
    </Context>
    dans la jsp erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    javax.servlet.jsp.JspException: Unable to get connection, DataSource invalid: "No suitable driver"
    at org.apache.taglibs.standard.tag.common.sql.QueryTagSupport.getConnection(QueryTagSupport.java:308)
    at org.apache.taglibs.standard.tag.common.sql.QueryTagSupport.doStartTag(QueryTagSupport.java:192)
    at org.apache.taglibs.standard.tag.el.sql.QueryTag.doStartTag(QueryTag.java:125)

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 442
    Points : 540
    Points
    540
    Par défaut
    Oups, j'ai oublié de te dire :

    Vu que c'est Tomcat qui gère le pool de connexion, il faut que le driver Oracle soit renseigné dans les librairies Tomcat.

    Positionne ojdbc14.jar dans %TOMCAT_HOME%/common/lib !

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 100
    Points : 71
    Points
    71
    Par défaut ?
    comment être sûre qu'il utilise le driver de common ? J'utilise eclipse.
    J'ai ajouté le driver dans TOMCAT_HOME\common\lib
    J'ai ajouté la variable à mon projet.
    j'ai déclaré comme tu m'as dit dans context.xml.
    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
    <?xml version="1.0" encoding="UTF-8"?>
    <Context>
     <Resource
        auth="Container"
        description="BDD Connection"
        name="jdbc/base"
        type="javax.servlet.jsp.jstl.sql.dataSource"
        username="user"
        password="pwd"
        driverClassName="oracle.jdbc.driver.OracleDriver"
        maxIdle="100"
        maxWait="5000"
        validationQuery="SELECT count(*) FROM users"
        url="jdbc:oracle:thin:@hoedic:1521:base"
        maxActive="10"/>
    </Context>
    j'ai modifié les déclarations dans les jsp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <%@ taglib uri="../../WEB-INF/tlds/sql.tld" prefix="sql" %>
    <sql:setDataSource dataSource="jdbc/base"/>
    et j'ai toujours la même erreur
    y a forcément un truc que je fais de travers...

  12. #12
    Membre averti

    Profil pro
    Inscrit en
    Mars 2007
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 392
    Points : 439
    Points
    439
    Par défaut
    Citation Envoyé par loulag07 Voir le message
    ma question en fait c'est :
    <sql:close> ça n'existe pas ?
    <sql:closeConnection conn="conn1"/>
    plus d'info => ici.

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 100
    Points : 71
    Points
    71
    Par défaut
    avec la librairie que j'ai il ne connais pas le sql connection et le sql:closeConnection

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 442
    Points : 540
    Points
    540
    Par défaut
    Citation Envoyé par loulag07 Voir le message
    et j'ai toujours la même erreur
    y a forcément un truc que je fais de travers...
    Arf ! c'est étrange, je n'ai jamais eut de problème.

    Qu'elle est ta version de tomcat ?

  15. #15
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 100
    Points : 71
    Points
    71
    Par défaut
    4.1.30

  16. #16
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 442
    Points : 540
    Points
    540
    Par défaut
    Zut, ça ne marche qu'avec Tomcat 5, désolé

    Tu ne peux pas monter de version Tomcat ?

Discussions similaires

  1. Chargement d'un XML en tables avec PL/SQL
    Par jenlin dans le forum PL/SQL
    Réponses: 7
    Dernier message: 21/03/2011, 12h55
  2. PB avec Explorateur SQL
    Par DETHIER dans le forum Bases de données
    Réponses: 3
    Dernier message: 22/06/2005, 13h20
  3. Probléme avec RQ SQL BETWEEN!!!
    Par Grozeil dans le forum Langage SQL
    Réponses: 10
    Dernier message: 06/04/2005, 11h31
  4. Pb avec requetes SQL
    Par Furtif_00 dans le forum Bases de données
    Réponses: 15
    Dernier message: 22/03/2004, 20h14
  5. probleme avec requete sql aime pas les strings
    Par lil_jam63 dans le forum Bases de données
    Réponses: 3
    Dernier message: 24/02/2004, 14h45

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