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.