Share via


Esecuzione di transazioni in ADOMD.NET

In ADOMD.NET utilizzare l'oggetto AdomdTransaction per gestire il contesto di transazione per un oggetto AdomdConnection specifico. Questa funzionalità consente di eseguire numerosi comandi all'interno dello stesso contesto. Ogni comando leggerà gli stessi dati senza modificarli tra ogni esecuzione dei comandi.

[!NOTA]

La classe AdomdTransaction costituisce l'implementazione dell'interfaccia System.Data.IDbTransaction, parte della libreria di classi .NET Framework Microsoft, ed è implementata da tutti i provider di dati .NET Framework che supportano transazioni.

L'oggetto AdomdTransaction supporta solo transazioni di tipo Read Committed in cui i blocchi condivisi vengono mantenuti durante la lettura dei dati per evitare letture dirty.

La classe AdomdConnection viene utilizzata per avviare la transazione. Per utilizzare la transazione, i comandi vengono quindi eseguiti nella connessione che ha avviato la transazione. Quando la transazione è completata, è possibile eseguirne il rollback oppure il commit.

Avvio di una transazione

Per creare un'istanza di un oggetto AdomdTransaction, chiamare il metodo BeginTransaction dell'oggetto AdomdConnection. Nell'esempio seguente viene illustrato come creare un'istanza dell'oggetto AdomdTransaction:

Dim objTransaction As AdomdTransaction = objConnection.BeginTransaction()
AdomdTransaction objTransaction = objConnection.BeginTransaction();

Esecuzione del rollback di una transazione

Per eseguire il rollback di una transazione esistente incompleta, chiamare il metodo Rollback dell'oggetto AdomdTransaction. Se si chiama questo metodo su una transazione esistente completa, viene generata un'eccezione.

Esecuzione del commit di una transazione

Dopo avere chiamato il metodo BeginTransaction per avviare una transazione, è possibile completarla tramite una chiamata al metodo Commit dell'oggetto AdomdTransaction. Se si chiama questo metodo su una transazione esistente completa, viene generata un'eccezione.