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

PostgreSQL Discussion :

problème connexion requête


Sujet :

PostgreSQL

  1. #1
    Membre averti
    Avatar de stc074
    Homme Profil pro
    Codeur du dimanche
    Inscrit en
    Janvier 2009
    Messages
    1 014
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Lozère (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Codeur du dimanche

    Informations forums :
    Inscription : Janvier 2009
    Messages : 1 014
    Points : 407
    Points
    407
    Billets dans le blog
    1
    Par défaut problème connexion requête
    Bonjour, je ne sais pas si ça vient d'une requête ou de la connexion mais mon appli java ee plante en prod dans les logs de postgresql j'ai ce message :
    FATAL: les emplacements de connexions restants sont réservés pour les connexion
    superutilisateur non relatif à la réplication
    c'est gênant je pense fermer toutes mes connexions (sinon je pense que java le fait automatiquement mais je le fais systématiquement).
    D’où peut venir un tel message d'erreur ?
    Je veux aussi dire que mes sites ne doivent pas être surchargés de connexions ils sont très peu populaires.
    Merci.

  2. #2
    Membre expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Points : 3 590
    Points
    3 590
    Billets dans le blog
    8
    Par défaut
    Salut
    Il faut plus d'information sur le contenu du message d'erreur.
    Par ailleurs, votre appli java utilise-t-elle un gestionnaire de pool de connections? Si telle est le cas, je pense que le problème viens de lui.
    @+
    Le monde est trop bien programmé pour être l’œuvre du hasard…
    Mon produit pour la gestion d'école: www.logicoles.com

  3. #3
    Membre averti
    Avatar de stc074
    Homme Profil pro
    Codeur du dimanche
    Inscrit en
    Janvier 2009
    Messages
    1 014
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Lozère (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Codeur du dimanche

    Informations forums :
    Inscription : Janvier 2009
    Messages : 1 014
    Points : 407
    Points
    407
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par alassanediakite Voir le message
    Salut
    Il faut plus d'information sur le contenu du message d'erreur.
    Par ailleurs, votre appli java utilise-t-elle un gestionnaire de pool de connections? Si telle est le cas, je pense que le problème viens de lui.
    @+
    Bonjour, je n'ai que ce message d'erreur, j'utilise une datasource et je fais remonter mes exception dans mes managedBean (JSF) par exemple :
    ManagedBean
    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
        public void actionValidate() {
            try {
                record();
                createCookie("ids", id + "");
                setHTTP();
                facesContext.getExternalContext().redirect(response.encodeRedirectURL("/soumission.html"));
            } catch (SQLException ex) {
                Logger.getLogger(AddSite.class.getName()).log(Level.SEVERE, null, ex);
                sqlException(ex);
            } catch (NamingException ex) {
                Logger.getLogger(AddSite.class.getName()).log(Level.SEVERE, null, ex);
                namingException(ex);
            } catch (MyException ex) {
                Logger.getLogger(AddSite.class.getName()).log(Level.SEVERE, null, ex);
                myException(ex);
            } catch (UnsupportedEncodingException ex) {
                Logger.getLogger(AddSite.class.getName()).log(Level.SEVERE, null, ex);
                unsupportedEncodingException(ex);
            } catch (IOException ex) {
                Logger.getLogger(AddSite.class.getName()).log(Level.SEVERE, null, ex);
                ioException(ex);
            } finally {
                closeConnection();
            }
        }
    methode record (classe Site parente du managedBean) :
    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
        public void record() throws SQLException, NamingException, MyException, UnsupportedEncodingException {
            recordMainFields();
            categories.record();
        }
     
        private void recordMainFields() throws SQLException, NamingException, MyException, UnsupportedEncodingException {
            url = url.replaceAll("/", "").toLowerCase();
     
            calculPagerank();
            String query = "INSERT INTO site (titre, url, description, id_user, pagerank, protocol) VALUES (?,?,?,?, ?,?) RETURNING id";
            try (PreparedStatement prepare = getConn().prepareStatement(query)) {
                prepare.setString(1, encod(titre));
                prepare.setString(2, encod(url));
                prepare.setString(3, encod(description));
                prepare.setLong(4, user.id);
                prepare.setInt(5, pagerank);
                prepare.setInt(6, protocol);
                try (ResultSet result = prepare.executeQuery()) {
                    if (result.next()) {
                        id = result.getLong("id");
                    } else {
                        throw new MyException("Erreur lors de l'enregistrement du site.<br/>");
                    }
                }
            }
        }
    Methode de connexion classe SuperClass parente de site :
    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
        private void initConnection() throws SQLException, NamingException {
            InitialContext cxt = new InitialContext();
            ds = (DataSource) cxt.lookup("java:/comp/env/jdbc/myBDD");
            conn = ds.getConnection();
            cxt.close();
            connect = true;
        }
     
        protected void closeConnection() {
            try {
                if (connect) {
                    conn.close();
                    connect = false;
                }
            } catch (SQLException ex) {
                Logger.getLogger(SuperClass.class.getName()).log(Level.SEVERE, null, ex);
                setTest(2);
                setErrorMsg("Impossible de se deconnecter (SQL).<br/>");
            }
        }
        protected Connection getConn() throws SQLException, NamingException {
            if (!connect) {
                initConnection();
            }
            return conn;
        }
    Je sais pas trop si vous connaissez le java je pensais que ma méthode fermait toutes les connexions ouvertes.
    Merci

  4. #4
    Membre averti
    Avatar de stc074
    Homme Profil pro
    Codeur du dimanche
    Inscrit en
    Janvier 2009
    Messages
    1 014
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Lozère (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Codeur du dimanche

    Informations forums :
    Inscription : Janvier 2009
    Messages : 1 014
    Points : 407
    Points
    407
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par alassanediakite Voir le message
    Salut
    Il faut plus d'information sur le contenu du message d'erreur.
    Par ailleurs, votre appli java utilise-t-elle un gestionnaire de pool de connections? Si telle est le cas, je pense que le problème viens de lui.
    @+
    Bonjour, toujours pas trouvé de solution, j'utilise une datasource que je récupère dans mon source (cf plus haut)

  5. #5
    Membre expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Points : 3 590
    Points
    3 590
    Billets dans le blog
    8
    Par défaut
    Salut
    Jette un coup d’œil à "limite de connexion" au niveau des propriétés de ta base.
    Nom : Nouvelle image (2).png
Affichages : 2581
Taille : 21,0 Ko
    @+
    Le monde est trop bien programmé pour être l’œuvre du hasard…
    Mon produit pour la gestion d'école: www.logicoles.com

Discussions similaires

  1. Problème connexion MSSQL / lancement requête
    Par Canterlot dans le forum C#
    Réponses: 4
    Dernier message: 17/03/2014, 11h15
  2. [ODBC] Problème exécution requête avec connexion ODBC/PHP
    Par nicaud dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 20/04/2008, 14h20
  3. Problème de requètes concurentes
    Par Emmanuel.G dans le forum XMLRAD
    Réponses: 3
    Dernier message: 08/08/2003, 17h51
  4. Réponses: 2
    Dernier message: 16/07/2003, 15h40
  5. Problème dans requête avec count()
    Par BadFox dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/07/2003, 19h02

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