Udostępnij przez


Jak Wykorzystanie Microsoft transakcja rozproszona Coordinator (ODBC)

Aby zaktualizować dwa lub więcej serwerów SQL przy użyciu usługi MS DTC

  1. Połączyć się z usługą MS DTC za pomocą funkcja MS DTC OLE DtcGetTransactionManager.Aby uzyskać informacje na temat usługi MS DTC Zobacz Koordynator transakcja rozproszona firmy Microsoft.

  2. Wywołanie SQLDriverConnect jeden raz dla każdego połączenia, program Microsoft ® SQL Server ™ chcesz ustanowić.

  3. Wywołanie funkcja MS DTC OLE ITransactionDispenser::BeginTransaction rozpoczyna transakcję MS DTC i uzyskanie obiektu transakcji, reprezentującą transakcji.

  4. Call SQLSetConnectAttr one or more times for each ODBC connection you want to enlist in the MS DTC transaction.SQLSetConnectAttr second parameter must be SQL_ATTR_ENLIST_IN_DTC and third parameter must be the Transaction object (obtained in Step 3).

  5. Wywołanie SQLExecDirect tylko jeden raz dla każdego programu SQL Server, który chcesz zaktualizować.

  6. Wywołanie funkcja metody MS DTC OLE ITransaction::zatwierdzanie o zatwierdzeniu transakcji usługi MS DTC.Obiekt Transaction nie jest już prawidłowy.

Aby wykonać szereg transakcji MS DTC, powtórz kroki 3 do 6.

W celu zwolnienia odwołania do obiektu transakcji należy wywołać funkcja MS DTC OLE ITransaction::Return.

Aby transakcję MS DTC za pomocą połączenia ODBC, a następnie użyć tego samego połączenia z lokalnym transakcji programu SQL Server, należy skontaktować się telefonicznie SQLSetConnectAttr z SQL_DTC_DONE.

Uwaga

Można również wywołać SQLSetConnectAttr i SQLExecDirect kolejno dla każdego programu SQL Server, zamiast je wywołuje sugerowanej we wcześniejszej części kroki 4 i 5.