Nyelv

OleDbConnection.EnlistDistributedTransaction(ITransaction) Metódus

Definíció

A megadott tranzakciót elosztott tranzakcióként veszi fel.

public:
 void EnlistDistributedTransaction(System::EnterpriseServices::ITransaction ^ transaction);
public void EnlistDistributedTransaction(System.EnterpriseServices.ITransaction transaction);
member this.EnlistDistributedTransaction : System.EnterpriseServices.ITransaction -> unit
Public Sub EnlistDistributedTransaction (transaction As ITransaction)

Paraméterek

transaction
ITransaction

Hivatkozás egy meglévőre ITransaction , amelybe be kell jelentkezni.

Megjegyzések

Az ADO.NET 2.0 újdonsága, hogy támogatja a EnlistTransaction metódus használatát az elosztott tranzakciókba való bejelentkezéshez. Mivel egy példányban Transaction csatlakozik egy kapcsolathoz, az EnlistTransaction kihasználja a névtérben elérhető funkciókat az System.Transactions elosztott tranzakciók kezeléséhez, így előnyösebb az EnlistDistributedTransaction erre a célra. További információ: Elosztott tranzakciók.

Ha az automatikus beléptetés le van tiltva, a metódussal EnlistDistributedTransaction továbbra is felvehet egy meglévő elosztott tranzakciót. Egy meglévő elosztott tranzakcióba való beírással biztosítható, hogy a tranzakció véglegesítése vagy visszaállítása esetén a kód által az adatforrásban végrehajtott módosítások is véglegesítésre vagy visszaállításra kerülnek. Az elosztott tranzakciókról további információt az Elosztott tranzakciók című témakörben talál.

EnlistDistributedTransaction kivételt ad vissza, ha az OleDbConnection már elindított egy tranzakciót a következő használatával BeginTransaction: . Ha azonban a tranzakció egy helyi tranzakció, amely az adatforrásban kezdődött (például a BEGIN TRANSACTION utasítás objektum használatával történő explicit végrehajtásával OleDbCommand ), EnlistDistributedTransaction a rendszer visszaállítja a helyi tranzakciót, és igény szerint felveszi a meglévő elosztott tranzakciót. Nem fog értesítést kapni arról, hogy a helyi tranzakció vissza lett gördült, és a helyi tranzakciók kezeléséért a rendszer nem kezdett hozzá BeginTransaction.

A következőre érvényes:

Lásd még