Condividi tramite


Transazioni implicite API

Le transazioni implicite possono essere specificate utilizzando le funzionalità delle API (Application Programming Interface) OLE DB e ODBC.

OLE DB

In OLE DB non è disponibile un metodo specifico per l'impostazione della modalità transazione implicita.

  • Per avviare una transazione esplicita, chiamare il metodo ITransactionLocal::StartTransaction.

  • Quando si chiama il metodo ITransaction::Commit o ITransaction::Abort con l'opzione fRetaining impostata su TRUE, in OLE DB la transazione corrente viene completata e viene attivata la modalità transazione implicita. Tale modalità rimane attivata fino a quando non si imposta l'opzione fRetaining di ITransaction::Commit o ITransaction::Abort su TRUE.

  • Per disattivare la modalità transazione implicita, chiamare ITransaction::Commit o ITransaction::Abort con l'opzione fRetaining impostata su FALSE.

ODBC

  • Per attivare la modalità transazione implicita, chiamare la funzione SQLSetConnectAttr con l'opzione Attribute impostata su SQL_ATTR_AUTOCOMMIT e l'opzione ValuePtr impostata su SQL_AUTOCOMMIT_OFF.

  • Nella connessione resta attivata la modalità transazione implicita fino a quando non viene chiamata la funzione SQLSetConnectAttr con l'opzione Attribute impostata su SQL_ATTR_AUTOCOMMIT e l'opzione ValuePtr impostata su SQL_AUTOCOMMIT_ON.

  • Per eseguire il commit o il rollback di ogni transazione, chiamare la funzione SQLEndTran con l'opzione CompletionType impostata su SQL_COMMIT o SQL_ROLLBACK.

  • Se l'opzione SQL_AUTOCOMMIT_OFF viene impostata da un'applicazione ODBC, il driver ODBC di SQL Server esegue un'istruzione SET IMPLICIT_TRANSACTION ON.

ADO

ADO non supporta le transazioni implicite. Nelle applicazioni ADO vengono utilizzate la modalità autocommit o le transazioni esplicite.