IDTSPath100.AttachPathAndPropagateNotifications 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在两个组件之间建立路径,并通知受影响的组件。
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 方法通知事件的每个组件。