Compartilhar via


Transações implícitas de API

A transação implícita pode ser especificada usando recursos de interfaces de programas aplicativos OLE DB e ODBC (APIs).

OLE DB

O OLE DB não tem um método para definir especificamente o modo de transação implícita.

  • Chame o método ITransactionLocal::StartTransaction para iniciar uma transação explícita.

  • Quando você chamar o método ITransaction::Commit ou o ITransaction::Abort com fRetaining definido como TRUE, o OLE DB completa a transação atual e passa para o modo de transação implícita. A conexão permanece no modo de transação implícita desde que você defina fRetaining no ITransaction::Commit ou no ITransaction::Abort como TRUE.

  • Chame o ITransaction::Commit ou o ITransaction::Abort com fRetaining definido como FALSE para interromper o modo de transação implícita.

ODBC

  • Chame a função SQLSetConnectAttr com Attribute definido como SQL_ATTR_AUTOCOMMIT e ValuePtr definido como SQL_AUTOCOMMIT_OFF para iniciar o modo de transação implícita.

  • A conexão permanece no modo de transação implícita até que você chame o SQLSetConnectAttr com Attribute definido como SQL_ATTR_AUTOCOMMIT e ValuePtr definido como SQL_AUTOCOMMIT_ON.

  • Chame a função SQLEndTran com CompletionType definido como SQL_COMMIT ou SQL_ROLLBACK para confirmar ou reverter cada transação.

  • Quando o SQL_AUTOCOMMIT_OFF é definido por um aplicativo ODBC, o driver ODBC SQL Server emite uma instrução SET IMPLICIT_TRANSACTION ON.

ADO

O ADO não dá suporte às transações implícitas. Os Aplicativos ADO usam o modo de autocommit ou de transações explícitas.

Consulte também

Conceitos