2009-06-25 10 views

risposta

3

Per ADO.NET, non fa differenza. È implicitamente indicato in MSDN dove per l'oggetto SqlTransaction si dice che il metodo Commit "fallisce se la transazione è già stata ripristinata sul server".

Inoltre, SQL Server Profiler mostra "SET TRANSACTION ISOLATION LEVEL READ COMMITTED; BEGIN TRAN" non appena si esegue .BeginTransaction su una connessione.

Per ADO (non .NET), tuttavia, non lo è. Questo consentiva scenari piacevoli con transazioni effettivamente nidificate (i trans del server erano nidificati all'interno di client). Nonostante l'ho usato molto, non posso definire esattamente che cosa fosse una "transazione client" in quel caso.

2

Se si desidera chiamare più stored proc in una riga e si desidera poter eseguire il rollback, è necessario gestire la transazione dal codice utilizzando SqlConnection.BeginTransaction(). Altrimenti è lo stesso.

Problemi correlati