Partager via


PipelineComponent.AcquireConnections(Object) Méthode

Définition

Établit une connexion à un gestionnaire de connexions.

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)

Paramètres

transaction
Object

Transaction à laquelle la connexion participe.

Exemples

L’exemple suivant montre un composant qui se connecte à un gestionnaire de connexions ADO.NET pendant 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  

Remarques

AcquireConnections est appelé pendant la conception et l’exécution des composants. Les composants qui se connectent à des sources de données externes doivent établir leurs connexions pendant cette méthode. Toute connexion établie pendant cette méthode doit être mise en cache dans une variable membre locale et publiée dans la ReleaseConnections méthode. Les connexions ne doivent être établies que pendant AcquireConnections.

S’applique à