IDTSPath90.AttachPathAndPropagateNotifications Method

Establishes a path between two components and notifies the affected components.

命名空间: Microsoft.SqlServer.Dts.Pipeline.Wrapper
程序集: Microsoft.SqlServer.DTSPipelineWrap (in microsoft.sqlserver.dtspipelinewrap.dll)

语法

声明
<DispIdAttribute(104)> _
Sub AttachPathAndPropagateNotifications ( _
    <InAttribute> pIDTSOutput As IDTSOutput90, _
    <InAttribute> pIDTSInput As IDTSInput90 _
)
[DispIdAttribute(104)] 
void AttachPathAndPropagateNotifications (
    [InAttribute] IDTSOutput90 pIDTSOutput,
    [InAttribute] IDTSInput90 pIDTSInput
)
[DispIdAttribute(104)] 
void AttachPathAndPropagateNotifications (
    [InAttribute] IDTSOutput90^ pIDTSOutput, 
    [InAttribute] IDTSInput90^ pIDTSInput
)
/** @attribute DispIdAttribute(104) */ 
void AttachPathAndPropagateNotifications (
    /** @attribute InAttribute() */ IDTSOutput90 pIDTSOutput, 
    /** @attribute InAttribute() */ IDTSInput90 pIDTSInput
)
DispIdAttribute(104) 
function AttachPathAndPropagateNotifications (
    pIDTSOutput : IDTSOutput90, 
    pIDTSInput : IDTSInput90
)

参数

  • pIDTSOutput
    The output of the upstream component.
  • pIDTSInput
    The input of the downstream component.

备注

In addition to establishing the flow of data between an IDTSOutput90 and an IDTSInput90 input, this method also notifies each component of the event by calling the OnInputPathAttached and OnOutputPathAttached methods of the component.

示例

The following code example demonstrates how to create a new path and establish the path between two components.

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.
        IDTSComponentMetaData90 md = AddComponentToDataFlow( m , "DTSAdapter.OLEDBSource");
        IDTSComponentMetaData90 oledbSrc = m.ComponentMetaDataCollection.New();
        CManagedComponentWrapper90 srcWrp = oledbSrc.Instantiate();
        srcWrp.ProvideComponentProperties();

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

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

}
public IDTSComponentMetaData90 AddComponentToDataFlow( MainPipe mp , string Component )
{
    if( mp != null )
    {
        IDTSComponentMetaData90 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 IDTSComponentMetaData90 = AddComponentToDataFlow(m, "DTSAdapter.OLEDBSource") 
 Dim oledbSrc As IDTSComponentMetaData90 = m.ComponentMetaDataCollection.New 
 Dim srcWrp As CManagedComponentWrapper90 = oledbSrc.Instantiate 
 srcWrp.ProvideComponentProperties 
 Dim oledbDest As IDTSComponentMetaData90 = AddComponentToDataFlow(m, "DTSAdapter.OLEDBDestination") 
 Dim destWrp As IDTSComponentMetaData90 = oledbDest.ComponentMetaDataCollection.New 
 Dim destWrp As CManagedComponentWrapper90 = md.Instantiate 
 destWrp.ProvideComponentProperties 
 Dim path As IDTSPath90 = 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 IDTSComponentMetaData90 
 If Not (mp Is Nothing) Then 
   Dim md As IDTSComponentMetaData90 = 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

线程安全

Any public static (Shared in Microsoft Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

平台

开发平台

有关支持的平台列表,请参阅安装 SQL Server 2005 的硬件和软件要求。

目标平台

有关支持的平台列表,请参阅安装 SQL Server 2005 的硬件和软件要求。

请参阅

参考

IDTSPath90 Interface
IDTSPath90 Members
Microsoft.SqlServer.Dts.Pipeline.Wrapper Namespace