fermer connexion MySQL - VB/VBA/VBS - Programmation
MarshPosté le 06-05-2008 à 11:39:01
Bonjour,
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 (http://dev.mysql.com/doc/refman/5. [...] tions.html)
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
*** 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
Merci à vous d'avance.
Message édité par manik971 le 06-05-2008 à 11:56:26
Marsh Posté le 06-05-2008 à 11:39:01
Bonjour,
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 (http://dev.mysql.com/doc/refman/5. [...] tions.html)
Voici mes fonctions :
*** fonction qui récupère la valeur retournée par un select :
*** fonction qui insert dans la BD :
Merci à vous d'avance.
Message édité par manik971 le 06-05-2008 à 11:56:26