Requête paramétrée, enregiste uniquement 1 ligne sur 2
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:
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() |