IDTSRuntimeConnection100.ConnectionManager Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
public:
property Microsoft::SqlServer::Dts::Runtime::Wrapper::Sql2014::IDTSConnectionManager100 ^ ConnectionManager { Microsoft::SqlServer::Dts::Runtime::Wrapper::Sql2014::IDTSConnectionManager100 ^ get(); void set(Microsoft::SqlServer::Dts::Runtime::Wrapper::Sql2014::IDTSConnectionManager100 ^ value); };
[System.Runtime.InteropServices.DispId(102)]
public Microsoft.SqlServer.Dts.Runtime.Wrapper.Sql2014.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.Sql2014.IDTSConnectionManager100 with get, set
Public Property ConnectionManager As IDTSConnectionManager100
Значение свойства
IDTSConnectionManager100 компонента.
- Атрибуты
Примеры
В следующем примере кода показано, как свойство ConnectionManager задается при программной загрузке пакета.
// 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
Комментарии
Свойство ConnectionManager содержит или задает ссылку на фактический экземпляр IDTSConnectionManager100 объекта, содержащегося в пакете. Во время выполнения эта ссылка устанавливается автоматически подсистемой среды выполнения служб SSIS, используя ConnectionManagerID свойство, чтобы найти подключение в пакете и назначить ссылку.
Во время разработки конструктор служб SSIS выполняет это назначение при загрузке и инициализации компонента. Однако при программной загрузке и редактировании компонента с помощью объектной модели за пределами конструктора свойство должно быть задано явным образом. Компоненты не имеют возможности явно ссылаться на соединение с помощью ConnectionManagerID свойства, так как Connections коллекция пакета не предоставляется компонентам.