Erreur max_user_connections

Signaler
Messages postés
5
Date d'inscription
samedi 2 octobre 2004
Statut
Membre
Dernière intervention
4 mars 2009
-
Messages postés
5
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
4 mars 2009
-
<meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8" />
<title>
</title>
<meta />
<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
-->

Bonjour,
Je développe actuellement
un site web asp.net qui se connecte à une base de donnée mysql
grâce à odbc.

J' ai le message d'erreur suivant:


ERROR
[HY000] [MySQL][ODBC 3.51 Driver]User 'euroc108372' has exceeded the
'max_user_connections' resource (current value: 7)
J'ai
créé une fonction permettant une requête select et retournant un
datareader.

<meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8" />       
        private static string strCon = ConfigurationManager.ConnectionStrings["conStr"].ConnectionString;

        public static OdbcDataReader getData(string query)
        {
            OdbcConnection con = new OdbcConnection(strCon);           
            OdbcDataReader reader;
            try
            {
                con.Open();
                OdbcCommand cmd = new OdbcCommand(query, con);
                cmd.CommandTimeout = 10;
                reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
                cmd.Dispose();
            }
            catch (Exception err)
            {
                con.Close();
                throw new Exception(err.Message + " - " + query);
            }
            return reader;
        }
je
récupère le reader dans un IdataReader
et j'ai vérifié que tous mes reader font appel à la méthode
Close().

Pourtant
des processus restent ouverts.

Si
quelqu'un a une idée ?

Merci

9 réponses

Messages postés
5
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
4 mars 2009

Tu oublie de fermer ta connection quand tu n'a pas d'exception.
             try
            {
                con.Open();
                OdbcCommand cmd = new OdbcCommand(query, con);
                cmd.CommandTimeout = 10;
                reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
                cmd.Dispose();
                con.Close()
            }
            catch (Exception err)
            {
                con.Close();
                throw new Exception(err.Message + " - " + query);
            }
            return reader;
Messages postés
5
Date d'inscription
samedi 2 octobre 2004
Statut
Membre
Dernière intervention
4 mars 2009

Merci mais comme je retourne un reader, je ne peux pas fermer la connection directement. Normalement en mettant cmd.ExecuteReader(CommandBehavior.CloseConnection); la connection se ferme quand je fais reader.Close(); Mais ça ne fonctionne pas.
Messages postés
5
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
4 mars 2009

Pourquoi retourne tu un reader?
Messages postés
5
Date d'inscription
samedi 2 octobre 2004
Statut
Membre
Dernière intervention
4 mars 2009

Je passe un query de type "select" à la fonction et je retourne le résultat sous forme de DataReader.
Quand j'ai utilisé les données du DataReader je fais appel à la méthode Close(), ça ferme le DataReader et normalement la connexion auss mais ça ne semble pas fonctionner.
Messages postés
5
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
4 mars 2009

pourquoi n'utilise tu pas un dataset
Messages postés
5
Date d'inscription
samedi 2 octobre 2004
Statut
Membre
Dernière intervention
4 mars 2009

J'ai toujours utilisé des datareader et je n'ai jamais eu de problème. J'aurais voulu savoir pourquoi ça fonctionnais plus.
Je vais suivre ta suggestion.
Merci.
Messages postés
5
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
4 mars 2009

Je sais je faisait comme toi avant puis je me suis mis au dataset et depuis je n'utilise plus que sa vu que c'est plus pratique pour binder mes grilles.
Désolé de ne pas avoir pu expliquer la cause du problème
Messages postés
5
Date d'inscription
samedi 2 octobre 2004
Statut
Membre
Dernière intervention
4 mars 2009

pas de problème et merci d'avoir essayé de m'aider.
Messages postés
5
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
4 mars 2009

de rien et bonne continuation