PipelineComponent.AcquireConnections(Object) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
연결 관리자에 대한 연결을 설정합니다.
public:
virtual void AcquireConnections(System::Object ^ transaction);
public virtual void AcquireConnections (object transaction);
abstract member AcquireConnections : obj -> unit
override this.AcquireConnections : obj -> unit
Public Overridable Sub AcquireConnections (transaction As Object)
매개 변수
- transaction
- Object
연결이 관여하는 트랜잭션입니다.
예제
다음 예제에서는 ADO.NET 연결 관리자에 AcquireConnections연결하는 구성 요소를 보여 줍니다.
public override void AcquireConnections(object transaction)
{
if (ComponentMetaData.RuntimeConnectionCollection[0].ConnectionManager != null)
{
// Convert the native IDTSConnectionManager100 to the managed ConnectionManager,
// then retrieve the underlying connection through the InnerObject.
ConnectionManager cm = Microsoft.SqlServer.Dts.Runtime.DtsConvert.ToConnectionManager(ComponentMetaData.RuntimeConnectionCollection[0].ConnectionManager);
ConnectionManagerAdoNet cmado = cm.InnerObject as ConnectionManagerAdoNet;
// If the InnerObject is not an ConnectionManagerAdoNet, then
// the cmado object is null.
if( cmado == null )
throw new Exception("The ConnectionManager " + cm.Name + " is not an ADO.NET connection.");
// Get the underlying connection object.
this.oledbConnection = cmado.AcquireConnection(transaction) as OleDbConnection;
if( this.oledbConnection == null )
throw new Exception("The ConnectionManager " + cm.Name + " is not an ADO.NET connection.");
isConnected = true;
}
}
Public Overrides Sub AcquireConnections(ByVal transaction As Object)
If Not (ComponentMetaData.RuntimeConnectionCollection(0).ConnectionManager Is Nothing) Then
' Convert the native IDTSConnectionManager100 to the managed ConnectionManager,
' then retrieve the underlying connection through the InnerObject.
Dim cm As ConnectionManager = Microsoft.SqlServer.Dts.Runtime.DtsConvert.ToConnectionManager(ComponentMetaData.RuntimeConnectionCollection(0).ConnectionManager)
Dim cmado As ConnectionManagerAdoNet = CType(ConversionHelpers.AsWorkaround(cm.InnerObject, GetType(ConnectionManagerAdoNet)), ConnectionManagerAdoNet)
' If the InnerObject is not an ConnectionManagerAdoNet, then
' the cmado object is null.
If cmado Is Nothing Then
Throw New Exception("The ConnectionManager " + cm.Name + " is not an ADO.NET connection.")
End If
' Get the underlying connection object.
Me.oledbConnection = CType(ConversionHelpers.AsWorkaround(cmado.AcquireConnection(transaction), GetType(OleDbConnection)), OleDbConnection)
If Me.oledbConnection Is Nothing Then
Throw New Exception("The ConnectionManager " + cm.Name + " is not an ADO.NET connection.")
End If
isConnected = True
End If
End Sub
설명
AcquireConnections 는 구성 요소 디자인 및 실행 중에 호출됩니다. 외부 데이터 원본에 연결하는 구성 요소는 이 메서드 중에 연결을 설정해야 합니다. 이 메서드 중에 설정된 모든 연결은 로컬 멤버 변수에 캐시되고 메서드에서 ReleaseConnections 해제되어야 합니다. 연결은 .AcquireConnections