Tranzacție - un set de sarcini conexe, care, printre altele, reușește (fixare) sau în eroare (anulare) în ansamblu. O tranzacție distribuită - o tranzacție care afectează mai multe resurse. Pentru a remedia tranzacția distribuite, toți participanții trebuie să se asigure că orice schimbare a datelor va fi permanentă. Modificările trebuie să fie menținute chiar și în cazul defectării sistemului sau a altor evenimente neprevăzute. În cazul în care cel puțin unul dintre participanți nu vor fi în măsură să furnizeze o astfel de garanție, întreaga tranzacție eșuează și este derulată înapoi orice modificare de date în domeniul de aplicare al unei tranzacții.
În cazul în care DataReader este pornit în timpul unei tranzacții activ, atunci când încercați să se angajeze sau se rostogolească înapoi o tranzacție are loc excepție.
In ADO.NET 2.0 adaugă suport pentru atașarea unei tranzacții distribuite folosind metoda EnlistTransaction. care asigură conectarea la instanța de tranzacție. În versiunile anterioare de atașare evident ADO.NET la o tranzacție distribuită realizată prin compusul EnlistDistributedTransaction metoda de atașare a compusului la ITransaction exemplu. care este menținută pentru compatibilitate. Pentru mai multe informații despre Enterprise Servicii Servicii de tranzacții, a se vedea. În interoperabilitatea cu secțiunea Enterprise Services și tranzacțiile COM +.
Atunci când se utilizează System.Transactions NET Framework furnizor de tranzacție pentru baze de date SQL Server, SQL Server Transaction simplificat în mod automat va fi utilizat. Apoi, după cum este necesar tranzacție poate fi o tranzacție completă distribuită. Pentru mai multe informații, consultați. System.Transactions Integrarea cu SQL Server.
Numărul maxim de tranzacții distribuite, care este o bază de date Oracle se poate ocupa în același timp, implicit este 10. Când vă conectați la o bază de date Oracle după ce are loc excepția tranzacției zecea. Oracle nu acceptă declarațiile de limbă DDL în cadrul unei tranzacții distribuite.
SQL Server suportă creșteri de tranzacție, care a simplificat tranzacția locală poate fi promovată în mod automat la un distribuite, dacă este necesar. Crește tranzacția nu produce tranzacție suplimentară de sarcină distribuită, dacă este cazul, este necesară. Pentru mai multe informații și exemple de cod, a se vedea. Secțiunea System.Transactions Integrarea cu SQL Server.
Pentru a utiliza tranzacțiile distribuite pot fi necesare pentru a fi incluse în rețeaua MS DTC. Dacă activați Windows Firewall, trebuie să activați serviciul MS DTC pentru a utiliza rețeaua, sau deschide un port MS DTC.