Procédure : utiliser Microsoft Distributed Transaction Coordinator (ODBC)
Pour mettre à jour plusieurs serveurs SQL en utilisant MS DTC
Connectez-vous à MS DTC en utilisant la fonction MS DTC OLE DtcGetTransactionManager. Pour plus d'informations sur MS DTC, consultez Microsoft Distributed Transaction Coordinator.
Appelez SQLDriverConnect une fois pour chaque connexion Microsoft® SQL Server™ que vous souhaitez établir.
Appelez la fonction MS DTC OLE ITransactionDispenser::BeginTransaction pour commencer une transaction MS DTC et obtenir un objet Transaction qui représente la transaction.
Appelez SQLGetConnectAttr une ou plusieurs fois pour chaque connexion ODBC que vous souhaitez inscrire dans la transaction MS DTC. Le deuxième paramètre SQLGetConnectAttr doit être SQL_ATTR_ENLIST_IN_DTC et le troisième paramètre doit être l'objet Transaction (obtenu à l'Étape 3).
Appelez une fois pour chaque SQL Server que vous souhaitez mettre à jour.
Appelez la fonction MS DTC OLE ITransaction::Commit pour valider la transaction MS DTC. L'objet Transaction n'est plus valide.
Pour effectuer une série de transactions MS DTC, répétez les Étapes 3 à 6.
Pour libérer la référence à l'objet Transaction, appelez la fonction MS DTC OLE ITransaction::Return.
Pour utiliser une connexion ODBC avec une transaction MS DTC, puis utiliser la même connexion avec une transaction SQL Server locale, appelez SQLGetConnectAttr avec SQL_DTC_DONE.
[!REMARQUE]
Vous pouvez également appeler SQLGetConnectAttr puis pour chaque SQL Server au lieu de les appeler comme suggéré précédemment aux Étapes 4 et 5.