OracleConnection.EnlistDistributedTransaction(ITransaction) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee schakelt u de opgegeven transactie in als een gedistribueerde transactie.
public:
void EnlistDistributedTransaction(System::EnterpriseServices::ITransaction ^ distributedTransaction);
public void EnlistDistributedTransaction(System.EnterpriseServices.ITransaction distributedTransaction);
member this.EnlistDistributedTransaction : System.EnterpriseServices.ITransaction -> unit
Public Sub EnlistDistributedTransaction (distributedTransaction As ITransaction)
Parameters
- distributedTransaction
- ITransaction
Een verwijzing naar een bestaande ITransaction waarin moet worden opgenomen.
Opmerkingen
Nieuw in ADO.NET 2.0 is ondersteuning voor het gebruik van de methode EnlistTransaction om een gedistribueerde transactie in te schakelen. Omdat er een verbinding in een Transaction exemplaar wordt opgenomen, maakt EnlistTransaction gebruik van de functionaliteit die beschikbaar is in de System.Transactions naamruimte voor het beheren van gedistribueerde transacties, waardoor het beter is dan EnlistDistributedTransaction voor dit doel. Zie Gedistribueerde transacties voor meer informatie.
U kunt een bestaande gedistribueerde transactie blijven gebruiken met behulp van de
EnlistDistributedTransaction methode als automatisch insluiten is uitgeschakeld. Door een bestaande gedistribueerde transactie in te schakelen, zorgt u ervoor dat, als de transactie wordt doorgevoerd of teruggedraaid, wijzigingen die door de code in de gegevensbron worden aangebracht, ook worden doorgevoerd of teruggedraaid.
EnlistDistributedTransaction retourneert een uitzondering als de OracleConnection transactie al is gestart met behulp van BeginTransaction. Als de transactie echter een lokale transactie is die is gestart bij de gegevensbron (bijvoorbeeld door expliciet de instructie BEGIN TRANSACTION uit te voeren met behulp van een OracleCommand object), EnlistDistributedTransaction wordt de lokale transactie teruggedraaid en wordt de bestaande gedistribueerde transactie opgenomen zoals aangevraagd. U ontvangt geen melding dat de lokale transactie is teruggedraaid en verantwoordelijk is voor het beheren van lokale transacties die niet zijn gestart.BeginTransaction