Partilhar via


Usar o Coordenador de Transações Distribuídas da Microsoft (ODBC)

Para atualizar dois ou mais SQL Servers usando MS DTC

  1. Conecte-se a MS DTC usando a função DtcGetTransactionManager MS DTC OLE. Para obter informações sobre o MS DTC, consulte Coordenador de transações distribuídas da Microsoft.

  2. Chame SQL DriverConnect uma vez para cada conexão do Microsoft SQL Server que você deseja estabelecer.

  3. Chame a função ITransactionDispenser::BeginTransaction MS DTC OLE para começar uma transação MS DTC e obter um objeto de transação que a represente.

  4. Chame SQLSetConnectAttr uma ou mais vezes para cada conexão ODBC que você deseja listar na transação MS DTC. O segundo parâmetro SQLSetConnectAttr deve ser SQL_ATTR_ENLIST_IN_DTC e o terceiro, o objeto de transação (obtido na Etapa 3).

  5. Chame SQLExecDirect uma vez para cada SQL Server que você deseja atualizar.

  6. Chame a função ITransaction::Commit MS DTC OLE para confirmar a transação MS DTC. O objeto de transação não é mais válido.

Para executar uma série de MS DTC transações, repita as etapas de 3 a 6.

Para liberar a referência para o objeto de transação, chame a função ITransaction::Return MS DTC OLE.

Para usar uma conexão ODBC com uma transação MS DTC e usar a mesma conexão com uma transação do SQL Server local, chame SQLSetConnectAttr com SQL_DTC_DONE.

Observação

Você também pode chamar SQLSetConnectAttr e SQLExecDirect para cada SQL Server, em vez de chamá-lo conforme sugerido nas etapas 4 e 5.

Consulte Também

Executando transações (ODBC)