IDTSPath100.AttachPathAndPropagateNotifications 方法

定义

在两个组件之间建立路径,并通知受影响的组件。

public:
 void AttachPathAndPropagateNotifications(Microsoft::SqlServer::Dts::Pipeline::Wrapper::IDTSOutput100 ^ pIDTSOutput, Microsoft::SqlServer::Dts::Pipeline::Wrapper::IDTSInput100 ^ pIDTSInput);
[System.Runtime.InteropServices.DispId(104)]
public void AttachPathAndPropagateNotifications (Microsoft.SqlServer.Dts.Pipeline.Wrapper.IDTSOutput100 pIDTSOutput, Microsoft.SqlServer.Dts.Pipeline.Wrapper.IDTSInput100 pIDTSInput);
[<System.Runtime.InteropServices.DispId(104)>]
abstract member AttachPathAndPropagateNotifications : Microsoft.SqlServer.Dts.Pipeline.Wrapper.IDTSOutput100 * Microsoft.SqlServer.Dts.Pipeline.Wrapper.IDTSInput100 -> unit
Public Sub AttachPathAndPropagateNotifications (pIDTSOutput As IDTSOutput100, pIDTSInput As IDTSInput100)

参数

pIDTSOutput
IDTSOutput100

上游组件的输出。

pIDTSInput
IDTSInput100

下游组件的输入。

属性

示例

下面的代码示例演示如何创建新路径并在两个组件之间建立路径。

using System;  
using Microsoft.SqlServer.Dts.Pipeline.Wrapper;  
using Microsoft.SqlServer.Dts.Runtime;  

...  

    public static void main( string []args )  
    {  
        // Create the package and add a data flow task.  
        Package p = new Package();  
        TaskHost th = p.Executables.Add("DTS.Pipeline",null) as TaskHost;  
        MainPipe m = th.InnerObject as MainPipe;  

        // Create an OLE DB source component.  
        IDTSComponentMetaData100 md = AddComponentToDataFlow( m , "DTSAdapter.OLEDBSource");  
        IDTSComponentMetaData100 oledbSrc = m.ComponentMetaDataCollection.New();  
        CManagedComponentWrapper100 srcWrp = oledbSrc.Instantiate();  
        srcWrp.ProvideComponentProperties();  

        // Create an OLE DB destination component.  
        IDTSComponentMetaData100 oledbDest = AddComponentToDataFlow( m , "DTSAdapter.OLEDBDestination");  
        IDTSComponentMetaData100 destWrp = oledbDest.ComponentMetaDataCollection.New();  
        CManagedComponentWrapper100 destWrp = md.Instantiate();  
        destWrp.ProvideComponentProperties();  

        // Establish the path.  
        IDTSPath100 path = m.PathCollection.New();  
        path. AttachPathAndPropagateNotifications( oledbSrc.OutputCollection[0], oledbDest.InputCollection[0]);  

}  
public IDTSComponentMetaData100 AddComponentToDataFlow( MainPipe mp , string Component )  
{  
    if( mp != null )  
    {  
        IDTSComponentMetaData100 md = mp.ComponentMetaDataCollection.New();  
        md.ComponentClassID = Component;  
        CManagedComponentWrapper wrp = md.Instantiate();  
        wrp.ProvideComponentProperties();  

        return md;  
    }  
    throw new Exception( "DataFlow task does not exist.");  
}  
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper   
Imports Microsoft.SqlServer.Dts.Runtime  

...  

Public Shared Sub main(ByVal args As String())   
 Dim p As Package = New Package   
 Dim th As TaskHost = CType(ConversionHelpers.AsWorkaround(p.Executables.Add("DTS.Pipeline", Nothing), GetType(TaskHost)), TaskHost)   
 Dim m As MainPipe = CType(ConversionHelpers.AsWorkaround(th.InnerObject, GetType(MainPipe)), MainPipe)   
 Dim md As IDTSComponentMetaData100 = AddComponentToDataFlow(m, "DTSAdapter.OLEDBSource")   
 Dim oledbSrc As IDTSComponentMetaData100 = m.ComponentMetaDataCollection.New   
 Dim srcWrp As CManagedComponentWrapper100 = oledbSrc.Instantiate   
 srcWrp.ProvideComponentProperties   
 Dim oledbDest As IDTSComponentMetaData100 = AddComponentToDataFlow(m, "DTSAdapter.OLEDBDestination")   
 Dim destWrp As IDTSComponentMetaData100 = oledbDest.ComponentMetaDataCollection.New   
 Dim destWrp As CManagedComponentWrapper100 = md.Instantiate   
 destWrp.ProvideComponentProperties   
 Dim path As IDTSPath100 = m.PathCollection.New   
 path.AttachPathAndPropagateNotifications(oledbSrc.OutputCollection(0), oledbDest.InputCollection(0))   
End Sub   

Public Function AddComponentToDataFlow(ByVal mp As MainPipe, ByVal Component As String) As IDTSComponentMetaData100   
 If Not (mp Is Nothing) Then   
   Dim md As IDTSComponentMetaData100 = mp.ComponentMetaDataCollection.New   
   md.ComponentClassID = Component   
   Dim wrp As CManagedComponentWrapper = md.Instantiate   
   wrp.ProvideComponentProperties   
   Return md   
 End If   
 Throw New Exception("DataFlow task does not exist.")   
End Function  

注解

除了在一 IDTSOutput100 个和输入 IDTSInput100 之间建立数据流外,此方法还通过调用 OnInputPathAttached 组件的和 OnOutputPathAttached 方法通知事件的每个组件。

适用于