Compartir a través de


Transacciones implícitas de la API

Una transacción implícita puede especificarse mediante características de las interfaces de programación de aplicaciones (API) OLE DB y ODBC.

OLE DB

OLE DB no tiene ningún método para establecer específicamente el modo de transacción implícita.

  • Llame al método ITransactionLocal::StartTransaction para iniciar una transacción explícita.

  • Cuando llama al método ITransaction::Commit o al método ITransaction::Abort con fRetaining establecido en TRUE, OLE DB completa la transacción actual y pasa al modo de transacción implícita. La conexión permanece en el modo de transacción implícita mientras establezca como TRUE fRetaining en ITransaction::Commit o ITransaction::Abort.

  • Llame a ITransaction::Commit o ITransaction::Abort con FALSE establecido en fRetaining para detener el modo de transacciones implícitas.

ODBC

  • Llame a la función SQLSetConnectAttr con Attribute establecido en SQL_ATTR_AUTOCOMMIT y ValuePtr establecido en SQL_AUTOCOMMIT_OFF para iniciar el modo de transacción implícita.

  • La conexión permanece en modo de transacciones implícitas hasta que llame a SQLSetConnectAttr con SQL_ATTR_AUTOCOMMIT establecido en Attribute y SQL_AUTOCOMMIT_OFF establecido en ValuePtr.

  • Llame a la función SQLEndTran con SQL_COMMIT o SQL_ROLLBACK establecido en CompletionType para confirmar o revertir cada transacción.

  • Cuando una aplicación ODBC establece SQL_AUTOCOMMIT_OFF, el controlador ODBC de SQL Server emite la instrucción SET IMPLICIT_TRANSACTION ON.

ADO

ADO no acepta transacciones implícitas. Las aplicaciones ADO utilizan el modo de confirmación automática o de transacciones explícitas.