Erreur max_user_connections

axelle_ax Messages postés 5 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 4 mars 2009 - 27 févr. 2009 à 15:56
ma120358 Messages postés 5 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 4 mars 2009 - 4 mars 2009 à 18:20
<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

ma120358 Messages postés 5 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 4 mars 2009
3 mars 2009 à 09:36
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;
0
axelle_ax Messages postés 5 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 4 mars 2009
3 mars 2009 à 11:03
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.
0
ma120358 Messages postés 5 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 4 mars 2009
3 mars 2009 à 14:19
Pourquoi retourne tu un reader?
0
axelle_ax Messages postés 5 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 4 mars 2009
3 mars 2009 à 21:55
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ma120358 Messages postés 5 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 4 mars 2009
3 mars 2009 à 22:06
pourquoi n'utilise tu pas un dataset
0
axelle_ax Messages postés 5 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 4 mars 2009
4 mars 2009 à 14:51
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.
0
ma120358 Messages postés 5 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 4 mars 2009
4 mars 2009 à 15:02
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
0
axelle_ax Messages postés 5 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 4 mars 2009
4 mars 2009 à 15:06
pas de problème et merci d'avoir essayé de m'aider.
0
ma120358 Messages postés 5 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 4 mars 2009
4 mars 2009 à 18:20
de rien et bonne continuation
0