OleDbConnection.EnlistDistributedTransaction(ITransaction) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
지정된 트랜잭션에 분산 트랜잭션으로 참여합니다.
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)
매개 변수
- transaction
- ITransaction
등록할 기존 ITransaction에 대한 참조입니다.
설명
ADO.NET 2.0의 새로운 기능은 메서드를 EnlistTransaction 사용하여 분산 트랜잭션에 참여하도록 지원하는 것입니다. instance 연결을 Transaction 등록하기 때문에 EnlistTransaction은 분산 트랜잭션을 관리하기 위해 네임스페이스에서 사용할 수 있는 System.Transactions 기능을 활용하므로 이 목적을 위해 EnlistDistributedTransaction보다 선호됩니다. 자세한 내용은 분산 트랜잭션을 참조하세요.
자동 인리스트먼트를 사용하지 않도록 설정된 경우 메서드를 사용하여 기존 분산 트랜잭션에 EnlistDistributedTransaction 계속 등록할 수 있습니다. 기존 분산 트랜잭션에 등록하면 트랜잭션이 커밋되거나 롤백되는 경우 데이터 원본의 코드에서 수정한 내용도 커밋되거나 롤백됩니다. 분산 트랜잭션에 대한 자세한 내용은 분산 트랜잭션을 참조하세요.
EnlistDistributedTransaction는 를 사용하여 BeginTransaction트랜잭션을 OleDbConnection 이미 시작한 경우 예외를 반환합니다. 그러나 트랜잭션이 데이터 원본에서 시작된 로컬 트랜잭션인 경우(예: 개체 EnlistDistributedTransaction 를 사용하여 OleDbCommand BEGIN TRANSACTION 문을 명시적으로 실행) 로컬 트랜잭션을 롤백하고 요청된 대로 기존 분산 트랜잭션에 참여합니다. 로컬 트랜잭션이 롤백되었고 를 사용하여 BeginTransaction시작되지 않은 로컬 트랜잭션을 관리할 책임이 있다는 알림을 받지 못합니다.
적용 대상
추가 정보
.NET