Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : fermer connexion MySQL [ Base de données / MySQL ] (manik971)

mardi 6 mai 2008 à 14:15:53 | fermer connexion MySQL

manik971

Bonjour à tous,

Mon script est en vb.net, il va récupérer des informations sur des centaines de machines, puis il les insert dans une BD mysql si il y a eut un changement depuis le dernier lancement.

Pour chaque machines je lis la dernière entrée et je la compare a ce que je veux entrer dans la BD et si c'est différent j'insert.

Le problème vient du fait que à chaque fois que je lis ou j'insers je me connecte et déconnecte et au bout d'environ 60 machines ça bloque car il y a trop de connexions => too many connections ([url]http://dev.mysql.com/doc/refman/5.0/fr/too-many-connections.html[/url])

    Voici mes fonctions :

*** fonction qui récupère la valeur retournée par un select :
[code]
            'Chaîne de connexion
            Dim paramConnect As String = "database='" & base & "';server='" & server & "';User ID='" & user & "';pwd='" & pass & "'"

            'Objet connection
            Dim connection As MySql.Data.MySqlClient.MySqlConnection = New MySql.Data.MySqlClient.MySqlConnection(paramConnect)

            'Ouverture connection
            connection.Open()

            'Lien entre la base et la requête1
            Dim MyAdapter1 As MySql.Data.MySqlClient.MySqlDataAdapter = New MySql.Data.MySqlClient.MySqlDataAdapter
            MyAdapter1.SelectCommand = New MySql.Data.MySqlClient.MySqlCommand(requete, connection)
            Dim S1 As MySql.Data.MySqlClient.MySqlDataReader
            S1 = MyAdapter1.SelectCommand.ExecuteReader
            S1.Read()
            recupSelect = S1.GetString(0)

            'Fermetures
            connection.Close()
            connection = Nothing
            S1.Close()
            S1 = Nothing
[/code]

*** fonction qui insert dans la BD :
[code]
        Dim Result As New ArrayList()

        'Chaîne de connexion
        Dim paramConnect As String = "database='" & base & "';server='" & server & "';User ID='" & user & "';pwd='" & pass & "'"

        'Objet connection
        Dim connect As MySql.Data.MySqlClient.MySqlConnection = New MySql.Data.MySqlClient.MySqlConnection(paramConnect)

        'normalement la requete est passée en paramètre dans la fonction
        Dim requete as string = "SELECT COUNT(id_M) FROM machine"

        Dim SelectCommand = New MySql.Data.MySqlClient.MySqlCommand(requete, connect)

        'Ouverture connection
        SelectCommand.connection = connect

        Try
            connect.Open()

            SelectCommand.ExecuteNonQuery()

            'Fermetures
            connect.Close()
            connect = Nothing
            SelectCommand = Nothing
[/code]

Merci à vous d'avance.

mardi 6 mai 2008 à 17:22:26 | Re : fermer connexion MySQL

aserf

Salut,
Pourquoi tu ne fait pas une connexion global et tu reste connecter ?
a++
seb


Développement Rapide PHP / VBNET -> www.database2code.com


mercredi 7 mai 2008 à 11:06:17 | Re : fermer connexion MySQL

manik971

j'ai fait ce que tu as dit, je fais une connection globale au debut de mon programme, pour la fonction qui récupère le select ça marche sans problème mais pour la fonction qui insert ça marche pas, je suis obligé de fermer la connexion puis de la réouvrir pour que ca fonctionne :

[code]
Public Function envoiRequete(ByVal requete As String, ByVal connection As MySql.Data.MySqlClient.MySqlConnection) As Boolean

        Try
            Dim cmd As New MySql.Data.MySqlClient.MySqlCommand

            With cmd
                .CommandText = requete
                .CommandType = CommandType.Text
                .Connection = connection
            End With

            connection.Close()
            connection.Open()

            'si je ne ferme pas puis réouvre la connexion ça plante ici
            cmd.ExecuteNonQuery()
[/code]

Va savoir pourquoi

mercredi 7 mai 2008 à 14:43:56 | Re : fermer connexion MySQL

aserf

Salut,
je ne voie null par une requette "insert" dans ton code ?
a++
seb


Développement Rapide PHP / VBNET -> www.database2code.com


vendredi 9 mai 2008 à 10:33:11 | Re : fermer connexion MySQL

manik971

je passe en paramètre de la fonction la variable "requete" qui est la requête d'insertion,
et ensuite je le met dans le mysqlCommand

 With cmd
                    .CommandText = requete
                    .CommandType = CommandType.Text
                    .Connection = connection
 End With



Cette discussion est classé dans : connection, mysql, data, mysqlclient, selectcommand


Répondre à ce message

Sujets en rapport avec ce message

gros problème! [ par tsithtsith ] bonjour à tous,voilà j'ai un problème sur une requête que je fait: j'ai un listbox ,à choix multiple,que j'ai chargés avec les élements de ma prémière Mysql et Vb.NET [ par shadow1779 ] Bonjour, je suis en train de faire un programme pour apprendre a utiliser les bases de données, programmant d'origine en php j'ai choisi d'utiliser un Connection Mysql av Visual studio net 2003 [ par mourier2003 ] est-il possible de connecter une base de données MySQL avec du code visual basic net 2003 ? Je n'arrive pas !!! Connection odbc impossible [ par marielle1 ] Bonjour à tous,voici mon erreur qd je tente de connecter ma base mysql via odbc (MySQL ODBC 3.51 Driver) et ma page aspx :ERROR [IM002] [Microsoft][Ge Connection VB/MySQL [ par skalarache ] Salut,   J'ai créé une connection entre MySQL et VB et je voudrais notamment renvoyer dans ma base de données des 0 ou 1 (autrement dit des cochés ou Afficher une image stockée dans mysql [ par skalarache ] Bonjour,Alors voilà je voudrais afficher une image stockée dans ma base de données mysql. J'ai cherché sur le net et je suis tombé sur pas mal de chos combobox et Mysql.... [ par microshit ] Bonjour, j'ai un petit probleme que je n'arrive pas a résoudre... Voila en fait je voudrais au chargement de ma Form, remplir ma combobox à partir d Connection VB6 => MySQL => récupération UNICODE => Caractere Chinois [ par jrivet ] Salut à tous.Aller une petite question à la c.n...Apres une recherche non satisfaisante sur VBFRANCE (et sur google)(NB: D'ailleurs je ne vois pas com Mysql connection distante [ par koutb ] Bonjour, j'ai un serveur chez ovh (linux) et je vouderai savoir si ya possiblité de ce connecté à ma base mysql  en vb ou vb.net.merci. connection Mysql [ par petiflamand ] Bonjour je voudrais savoir si c'est possible que avec mon VB6 je puisse me connecter sur une base de donnée Mysql qui ce trouve chez mon provider.Si o


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version


HTC G1

Entre 449€ et 449€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 4,493 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.