Bonjour,
j'effectue un transfert de données entre une base ORACLE et une base SQL SERVER.

J'effectue un INSERT INTO avec des parametres, mon problème est que seule la moitiée des lignes s'insert dans la base. Je pense que cela vient du fait que j'efface mes paramètres à la fin de chaque bboucle, mais je ne parviens pas à trouver de solution, merci d'avance de votre aide !

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
 For i = 0 To total - 1 'compte le nombre de lignes dans oracle
                commande_sql1.Connection = maconnexion_sql1
                'récupère les noms des champs PERDB automatiquement et leur attribut la valeur du même champs venu de PERDB dans SQL SERVER
                'déclare les paramètres, les valeurs des champs
                Dim champ0 As New SqlClient.SqlParameter("@champ0", SqlDbType.NVarChar, 100)
                champ0.Value = ds.Tables("TABLE1").Rows(i)(0)
 commande_sql1.CommandText = "INSERT INTO Table_VHC_INVT(" & ds.Tables("TABLE1").Columns(0).ToString) VALUES (@champ0)"
 
                'ajoute les paramètres à la connexion
                commande_sql1.Parameters.Add(champ0)
 
 commande_sql1.ExecuteNonQuery()
 
                'IMPORTANT !!
                commande_sql1.Parameters.Clear()
            Next
 
            maconnexion_sql1.Close()