IDTSRuntimeConnection100.ConnectionManager Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene o establece el objeto IDTSConnectionManager100 al que se hace referencia desde el objeto de conexión en tiempo de ejecución.
public:
property Microsoft::SqlServer::Dts::Runtime::Wrapper::IDTSConnectionManager100 ^ ConnectionManager { Microsoft::SqlServer::Dts::Runtime::Wrapper::IDTSConnectionManager100 ^ get(); void set(Microsoft::SqlServer::Dts::Runtime::Wrapper::IDTSConnectionManager100 ^ value); };
[System.Runtime.InteropServices.DispId(102)]
public Microsoft.SqlServer.Dts.Runtime.Wrapper.IDTSConnectionManager100 ConnectionManager { [System.Runtime.InteropServices.DispId(102)] get; [System.Runtime.InteropServices.DispId(102)] set; }
[<System.Runtime.InteropServices.DispId(102)>]
[<get: System.Runtime.InteropServices.DispId(102)>]
[<set: System.Runtime.InteropServices.DispId(102)>]
member this.ConnectionManager : Microsoft.SqlServer.Dts.Runtime.Wrapper.IDTSConnectionManager100 with get, set
Public Property ConnectionManager As IDTSConnectionManager100
Valor de propiedad
El IDTSConnectionManager100 del componente.
- Atributos
Ejemplos
En el ejemplo de código siguiente se muestra cómo se establece la ConnectionManager propiedad cuando se carga un paquete mediante programación.
// TODO: Replace the path to the package with a valid path.
string package = @"c:\Package.dtsx";
// Create the application and load the package.
Application a = new Application();
Package p = a.LoadPackage( package , null );
// Walk the Executables collection looking for data flow tasks.
foreach (Executable e in p.Executables)
{
MainPipe mp = ((TaskHost)e).InnerObject as MainPipe;
if( e != null )
{
// Walk the components.
foreach( IDTSComponentMetaData100 md in mp.ComponentMetaDataCollection )
{
// Walk the RuntimeConnectionCollection.
foreach( IDTSRuntimeConnection100 rc in md.RuntimeConnectionCollection )
{
// Check to see if the package's connections collection contains the
// Connectionmanager stored in the RuntimeConnection.
if (p.Connections.Contains(rc.ConnectionManagerID))
rc.ConnectionManager = DtsConvert.ToConnectionManager100(p.Connections[rc.ConnectionManagerID]);
else
Console.WriteLine("The ConnectionManager " + rc.ConnectionManagerID + " was not found in the Package's Connections collection.");
}
}
}
}
' TODO: Replace the path to the package with a valid path.
Dim package As String = "c:\Package.dtsx"
' Create the application and load the package.
Dim a As Application = New Application
Dim p As Package = a.LoadPackage(package, Nothing)
' Walk the Executables collection looking for data flow tasks.
For Each e As Executable In p.Executables
Dim mp As MainPipe = CType(CType(e, TaskHost).InnerObject, MainPipe)
If Not (e Is Nothing) Then
' Walk the components.
For Each md As IDTSComponentMetaData100 In mp.ComponentMetaDataCollection
' Walk the RuntimeConnectionCollection.
For Each rc As IDTSRuntimeConnection100 In md.RuntimeConnectionCollection
' Check to see whether the package's connections collection
' contains the Connectionmanager stored in the RuntimeConnection.
If p.Connections.Contains(rc.ConnectionManagerID) Then
rc.ConnectionManager = DtsConvert.ToConnectionManager100(p.Connections(rc.ConnectionManagerID))
Else
Console.WriteLine("The ConnectionManager " + rc.ConnectionManagerID + " was not found in the Package's Connections collection.")
End If
Next
Next
End If
Next
Comentarios
La ConnectionManager propiedad contiene, o establece, una referencia a la instancia real del IDTSConnectionManager100 objeto contenido en el paquete. En tiempo de ejecución, el motor en tiempo de ejecución de SSIS establece automáticamente esta referencia mediante la ConnectionManagerID propiedad para buscar la conexión en el paquete y asignar una referencia.
En tiempo de diseño, el Diseñador de SSIS realiza esta asignación al cargar e inicializar un componente. Sin embargo, cuando se carga y edita un componente mediante programación, con el modelo de objetos fuera del diseñador, la propiedad debe establecerse explícitamente. Los componentes no tienen la capacidad de hacer referencia a la conexión explícitamente mediante la ConnectionManagerID propiedad porque la Connections colección del paquete no se expone a los componentes.