Bonjour, je voudrais faire d la "réplication" de bases de données
dans un 1er temps , j'enregistre des evenements avec des dates
et j'ai un journal des transferts
ce que je veux faire :
selectionner les elements dont la date de modif>=date transfert precedant sur le serveur1
inserer ces elements sur le serveur2
je fais 2 transactions
bd_serveur.cmd.Connection.Open();
bd_serveur.T = bd_serveur.cmd.Connection.BeginTransaction();
bd_serveur.cmd.Transaction = bd_serveur.T;
bd_local.cmd.Connection.Open();
bd_local.T = bd_local.cmd.Connection.BeginTransaction();
bd_local.cmd.Transaction = bd_local.T;
... mes operations selection ds bd_serveur
insertions ds bd_local [cela prend une 10aine de minutes voir 20 ]
maj date transfert ds bd_serveur
bd_serveur.T.Commit();
bd_local.T.Commit();
J'arrive a la fin sans "probleme" mais lorsque je veux faire le commit j'ai le message suivant :
System.InvalidOperationException: SqlTransaction est terminé ; il n'est plus utilisable.
à System.Data.SqlClient.SqlTransaction.ZombieCheck()
à System.Data.SqlClient.SqlTransaction.Commit()
Je n'arrive pas a comprendre , j'ai cherché partout si un moment il y avait une cmd.close ou rollback avant et j'ai rien trouvé...