使用 Microsoft 分布式事务处理协调器 (ODBC)
使用 MS DTC 更新两个或更多 SQL 服务器
使用 MS DTC OLE DtcGetTransactionManager 函数连接到 MS DTC。 有关 MS DTC 的信息,请参阅 Microsoft 分布式事务处理协调器。
对要建立的每个 Microsoft® SQL Server™ 连接调用 SQL DriverConnect 一次。
调用 MS DTC OLE ITransactionDispenser::BeginTransaction 函数以开始 MS DTC 事务,并获得代表事务的事务对象。
对于要在 MS DTC 事务中登记的每个 ODBC 连接调用一次或多次 SQLSetConnectAttr。 SQLSetConnectAttr 第二个参数必须是 SQL_ATTR_ENLIST_IN_DTC,并且第三个参数必须是在步骤 3 中获得的 Transaction 对象。
对于要更新的每个 SQL Server 调用一次 SQLExecDirect。
调用 MS DTC OLE ITransaction::Commit 函数以提交 MS DTC 事务。 Transaction 对象不再有效。
若要执行一系列 MS DTC 事务,请重复步骤 3 到 6。
若要释放对 Transaction 对象的引用,请调用 MS DTC OLE ITransaction::Return 函数。
若要将 ODBC 连接用于 MS DTC 事务,然后将该连接用于本地 SQL Server 事务,请调用 SQLSetConnectAttr(带有 SQL_DTC_DONE)。
![]() |
---|
还可以对每个 SQL Server 轮流调用 SQLSetConnectAttr 和 SQLExecDirect,而不是按照前面步骤 4 和 5 中的建议调用它们。 |