PipelineComponent.AcquireConnections(Object) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
É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.