IDTSRuntimeConnection100.ConnectionManager 属性

定义

获取或设置 IDTSConnectionManager100 运行时连接对象所引用的对象。

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

属性值

组件的部分 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 Designer 在加载和初始化组件时执行此赋值。 然而,在程序加载和编辑组件时,使用设计器外的对象模型,必须显式设置该属性。 组件无法通过该 ConnectionManagerID 属性显式引用连接,因为 Connections 包的集合未暴露于组件。

适用于