Supponiamo che una stored procedure su MSSQL Server utilizzi una transazione SQL utilizzando BEGIN TRANSACTION/COMMIT TRANSACTION
, in che cosa si differenzia dall'inizio e dall'impegno di uno tramite ADO.NET tramite SqlConnection.BeginTransaction()
?Qual è la differenza tra una transazione SQL a livello di procedura memorizzata e una a livello di SqlConnection?
risposta
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.
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.
- 1. Qual è la differenza tra JTA e una transazione locale?
- 2. Livello di isolamento in Sql Transazione
- 3. Qual è la differenza tra un'API Java di alto livello e di basso livello?
- 4. Creazione di una procedura memorizzata tramite C#
- 5. Qual è la differenza tra WebRTC e WebSockets per la comunicazione dati a basso livello
- 6. Qual è la differenza formale tra un linguaggio a livello di funzione e uno funzionale?
- 7. Come aggiungere una procedura memorizzata Try/Catch a SQL
- 8. Differenza tra una transazione di ibernazione e una transazione di database eseguita tramite query SQL?
- 9. Qual è la differenza tra i tipi di stream di AudioManager a basso livello?
- 10. Qual è la differenza tra chiamata a procedura remota e servizio Web
- 11. Qual è la sintassi per definire una procedura Oracle all'interno di un'altra procedura memorizzata?
- 12. Procedura di diff e sync a livello di tabella per T-SQL
- 13. Chiamare una procedura memorizzata con asp.net
- 14. Procedura memorizzata EXEC vs sp_executesql differenza?
- 15. Qual è la differenza tra una subroutine e una funzione?
- 16. Qual è la differenza tra una Seam e una Mock?
- 17. Qual è la differenza tra $ a e $$ a in php?
- 18. Qual è la differenza tra "$ a" e $ a in unix
- 19. Differenza tra repository e livello di servizio
- 20. Qual è la differenza tra una tupla e una compressa_pair?
- 21. Chiamare una procedura memorizzata python
- 22. Qual è la differenza tra una monade e una chiusura?
- 23. Qual è la differenza tra una filettatura e una fibra?
- 24. Selezionare e aggiornare in una procedura memorizzata
- 25. Qual è la differenza tra una classe e una libreria?
- 26. C# - Crea tabella SQL Server a livello di codice
- 27. È una cosa negativa creare viste a livello di programmazione?
- 28. aggiunta di una colonna nella procedura memorizzata
- 29. Qual è la differenza tra SQL e SQL * Plus?
- 30. Differenza tra Behavioral, RTL e gate Livello