次の方法で共有


IDTSPath100.AttachPathAndPropagateNotifications メソッド

定義

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

パラメーター

pIDTSOutput
IDTSOutput100
pIDTSInput
IDTSInput100
属性

次のコード例では、新しいパスを作成し、2 つのコンポーネント間にパスを確立しています。

Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper.Sql2014   
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  
using System;  
using Microsoft.SqlServer.Dts.Pipeline.Wrapper.Sql2014;  
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.");  
}  

注釈

このメソッドは、IDTSOutput100 出力と IDTSInput100 入力の間のデータのフローの確立に加え、コンポーネントの OnInputPathAttached メソッドと OnOutputPathAttached メソッドを呼び出すことによって、各コンポーネントに対してイベントの通知も行います。

適用対象