IDTSPath100.AttachPathAndPropagateNotifications Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Établit un chemin d'accès entre deux composants et notifie les composants affectés.
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)
Paramètres
- pIDTSOutput
- IDTSOutput100
Sortie du composant en amont.
- pIDTSInput
- IDTSInput100
Entrée du composant en aval.
- Attributs
Exemples
L’exemple de code suivant montre comment créer un chemin d’accès et établir le chemin entre deux composants.
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
Remarques
En plus d’établir le flux de données entre une IDTSOutput100 entrée et une IDTSInput100 entrée, cette méthode avertit également chaque composant de l’événement en appelant les méthodes et OnOutputPathAttached les OnInputPathAttached méthodes du composant.