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.0/...nnections.html)

Voici mes fonctions :

*** fonction qui récupère la valeur retournée par un select :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
            '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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
        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.