fermer connexion MySQL

fermer connexion MySQL - VB/VBA/VBS - Programmation

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 :

Code :
  1. 'Chaîne de connexion
  2.             Dim paramConnect As String = "database='" & base & "';server='" & server & "';User ID='" & user & "';pwd='" & pass & "'"
  3.             'Objet connection
  4.             Dim connection As MySql.Data.MySqlClient.MySqlConnection = New MySql.Data.MySqlClient.MySqlConnection(paramConnect)
  5.             'Ouverture connection
  6.             connection.Open()
  7.             'Lien entre la base et la requête1
  8.             Dim MyAdapter1 As MySql.Data.MySqlClient.MySqlDataAdapter = New MySql.Data.MySqlClient.MySqlDataAdapter
  9.             MyAdapter1.SelectCommand = New MySql.Data.MySqlClient.MySqlCommand(requete, connection)
  10.             Dim S1 As MySql.Data.MySqlClient.MySqlDataReader
  11.             S1 = MyAdapter1.SelectCommand.ExecuteReader
  12.             S1.Read()
  13.             recupSelect = S1.GetString(0)
  14.             'Fermetures
  15.             connection.Close()
  16.             connection = Nothing
  17.             S1.Close()
  18.             S1 = Nothing


 
*** fonction qui insert dans la BD :

Code :
  1. Dim Result As New ArrayList()
  2.        'Chaîne de connexion
  3.         Dim paramConnect As String = "database='" & base & "';server='" & server & "';User ID='" & user & "';pwd='" & pass & "'"
  4.       'Objet connection
  5.         Dim connect As MySql.Data.MySqlClient.MySqlConnection = New MySql.Data.MySqlClient.MySqlConnection(paramConnect)
  6.         'normalement la requete est passée en paramètre dans la fonction
  7.         Dim requete as string = "SELECT COUNT(id_M) FROM machine"
  8.         Dim SelectCommand = New MySql.Data.MySqlClient.MySqlCommand(requete, connect)
  9.         'Ouverture connection
  10.         SelectCommand.connection = connect
  11.         Try
  12.             connect.Open()
  13.             SelectCommand.ExecuteNonQuery()
  14.             'Fermetures
  15.             connect.Close()
  16.             connect = Nothing
  17.             SelectCommand = Nothing


 
Merci à vous d'avance.


Message édité par manik971 le 06-05-2008 à 11:56:26
Reply

Marsh Posté le 06-05-2008 à 11:39:01   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed