PipelineComponent Klasse

Definition

Definiert die Basisklasse, die bei der Entwicklung von verwalteten Datenflusskomponenten verwendet wird.

public ref class PipelineComponent
public class PipelineComponent
type PipelineComponent = class
Public Class PipelineComponent
Vererbung
PipelineComponent
Abgeleitet

Beispiele

Das folgende Codebeispiel zeigt eine Komponente, die die DtsPipelineComponentAttribute und von der Klasse PipelineComponent erbt.

using System;  
using Microsoft.SqlServer.Dts.Pipeline.Wrapper;  
namespace Microsoft.Samples.SqlServer.Dts  
{  
    [DtsPipelineComponent(DisplayName="SampleComponent")]  
    public class SampleComponent : PipelineComponent  
    {  
        public override ProvideComponentProperties()  
        {  
            // TODO: Implement component intialization.  
        }  
        public override DTSValidationStatus Validate()  
        {  
            // TODO: Implement component validation.  
        }  
        public override void ProcessInput( int inputID, PipelineBuffer buffer)  
        {  
            // TODO: For transformation and destination components,  
            //  implement code to process incoming rows.  
        }  
    }  
}  
Imports System   
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper   
Namespace Microsoft.Samples.SqlServer.Dts   

 <DtsPipelineComponent(DisplayName="SampleComponent")> _   
 Public Class SampleComponent   
 Inherits PipelineComponent   

   Public Overrides Sub ProvideComponentProperties()   
    ' TODO: Implement component intialization.  
   End Sub   

   Public Overrides Function Validate() As DTSValidationStatus   
    ' TODO: Implement component validation.  
   End Function   

   Public Overrides Sub ProcessInput(ByVal inputID As Integer, ByVal buffer As PipelineBuffer)   
    ' TODO: For transformation and destination components,  
    '  implement code to process incoming rows.  
   End Sub   
 End Class   
End Namespace  

Hinweise

Erbe von dieser Klasse, um deine eigene Datenflusskomponente zu erstellen. Diese Klasse implementiert die erforderlichen Komponentenschnittstellen IDTSDesigntimeComponent100 und IDTSRuntimeComponent100. Du überschreibst die Basis-Implementierung dieser Methoden, um die Funktionalität deiner Komponente bereitzustellen. PipelineComponent bietet Hilfsmethoden zusätzlich zu den Methoden der Komponentenschnittstellen, um Ihnen bei der Entwicklung Ihrer Komponente zu helfen.

Konstruktoren

Name Beschreibung
PipelineComponent()

Initialisiert eine neue Instanz der PipelineComponent-Klasse.

Felder

Name Beschreibung
s_STOCKPROPNAME_COMPFLAGS

Enthält den Namen der Eigenschaft ComparisonFlags von Datenflusskomponenten.

s_STOCKPROPNAME_DELOUTPUTONPATHDETACHED

Enthält den Namen der Eigenschaft DeleteOutputOnPathDetached der Datenflusskomponenten.

s_STOCKPROPNAME_EXCLGROUP

Enthält den Namen der Eigenschaft ExclusionGroup für Datenflusskomponenten.

s_STOCKPROPNAME_HASSIDEEFFECTS

Enthält den Namen der HasSideEffects-Eigenschaft von Datenflusskomponenten.

s_STOCKPROPNAME_ISDISTRIBUTABLE

Enthält den Namen der IsDistributable-Eigenschaft der Datenflusskomponenten.

s_STOCKPROPNAME_ISERROROUT

Enthält den Namen der IsErrorOut-Eigenschaft der Datenflusskomponenten.

s_STOCKPROPNAME_ISSORTED

Enthält den Namen der IsSorted-Eigenschaft der Datenflusskomponenten.

s_STOCKPROPNAME_REFMETADATAID

Enthält den Namen der Eigenschaft ReferenceMetaDataID von Datenflusskomponenten.

s_STOCKPROPNAME_SORTKEYPOS

Enthält den Namen der SortKeyPosition-Eigenschaft von Datenflusskomponenten.

s_STOCKPROPNAME_SYNCINPUTID

Enthält den Namen der SynchronousInputID-Eigenschaft von Datenflusskomponenten.

Eigenschaften

Name Beschreibung
BufferManager

Es bekommt die IDTSBufferManager100 Pipeline-Komponente.

ComponentMetaData

Bekommt die IDTSComponentMetaData100 für eine Komponente.

ErrorSupport

Gibt ein ErrorSupport Objekt zurück, das es der Komponente ermöglicht, Fehler, Warnungen oder andere Informationsereignisse basierend auf HRESULTs auszulösen, die von Integration Services-Komponenten im nativen Code zurückgegeben werden.

EventInfos

Erhält die IDTSEventInfos100 Sammlung des PipelineComponent Objekts.

LogEntryInfos

Erhält eine IDTSLogEntryInfos100 Sammlung von Logging-Events, die die Komponente registriert hat.

ReferenceTracker

Erhält die assoziierte Komponente IDTSObjectReferenceTracker100 mit der Komponente.

VariableDispenser

Erhält die IDTSVariableDispenser100 Datenflusskomponente.

Methoden

Name Beschreibung
AcquireConnections(Object)

Stellt eine Verbindung zu einem Verbindungsmanager her.

AddErrorOutput(String, Int32, Int32)

Fügt ein IDTSOutput100 Objekt hinzu und markiert es als Fehlerausgabe, indem die Eigenschaft IsErrorOut auf true gesetzt wird.

BufferTypeToDataRecordType(DataType)

Gibt einen verwalteten Datentyp basierend auf einem Integration Services-Datentyp zurück.

Cleanup()

Es schafft Ressourcen frei und beendet die Ausführung der Komponente.

ConvertBufferDataTypeToFitManaged(DataType, Boolean)

Erhält die entsprechenden Integration Services DataType aus verwaltetem Code.

DataRecordTypeToBufferType(Type)

Erhält die Integration Services DataType , die einem verwalteten Typ entsprechen.

DeleteExternalMetadataColumn(Int32, Int32)

Löscht die Spalte externe Metadaten im angegebenen Index aus der Sammlung der externen Metadatenspalten.

DeleteInput(Int32)

Löscht ein IDTSInput100 Objekt aus der IDTSInputCollection100 Sammlung.

DeleteOutput(Int32)

Löscht ein IDTSOutput100 Objekt aus der IDTSOutputCollection100 Sammlung.

DeleteOutputColumn(Int32, Int32)

Löscht ein IDTSOutputColumn100 Objekt aus der IDTSOutputColumnCollection100 Sammlung.

DescribeRedirectedErrorCode(Int32)

Liefert Fehlercode-Informationen für eine PipelineBuffer Zeile, die einem Ausgabepuffer hinzugefügt wurde.

GetDependentInputs(Int32)

Gibt eine Sammlung der Eingabe-IDs von Eingaben zurück, die auf weitere Daten warten und somit die angegebene Eingabe blockieren.

GetErrorOutputInfo(Int32, Int32)

Gibt den Index und die ID der Fehlerausgabe der Komponente zurück.

idxOfBufferType(DataType)

Spezifiziert den Typ des Pufferindexes.

idxOfDataRecordType(Type)

Spezifiziert den Typ des Datensatzindexes.

Initialize()

Wenn sie in einer abgeleiteten Klasse überschrieben wird, initialisiert sie eine neue Instanz einer benutzerdefinierten Datenflusskomponente.

InsertExternalMetadataColumnAt(Int32, Int32, String, String)

Fügt eine neue externe Metadaten-Spalte in die Sammlung der externen Metadatenspalten im angegebenen Index ein.

InsertInput(DTSInsertPlacement, Int32)

Fügt ein IDTSInput100IDTSInputCollection100Objekt zum .

InsertOutput(DTSInsertPlacement, Int32)

Fügt ein neues IDTSOutput100 Objekt hinzu

InsertOutputColumnAt(Int32, Int32, String, String)

Erstellt ein neues IDTSOutputColumn100 Objekt und fügt es in die IDTSOutputColumnCollection100ein.

IsCompatibleNumericTypes(DataType, DataType)

Bestimmt, ob zwei numerische Datentypen kompatibel sind, um eine Umwandlung von einem Typ zum anderen zu unterstützen.

IsInputReady(Int32[], Boolean[])

Bestimmt, welche der an eine Komponente angeschlossenen Eingaben auf weitere Daten warten und welche genügend Daten zur Verarbeitung haben und blockiert sind.

MapInputColumn(Int32, Int32, Int32)

stellt eine Beziehung zwischen einer Eingabespalte und einer entsprechenden externen Metadatenspalte her.

MapOutputColumn(Int32, Int32, Int32, Boolean)

Stellt eine Beziehung zwischen einer Ausgabespalte und einer entsprechenden externen Metadatenspalte her.

OnDeletingInputColumn(Int32, Int32)

Löscht ein IDTSInputColumn100 Objekt aus dem IDTSInputColumnCollection100.

OnInputPathAttached(Int32)

Wird aufgerufen, wenn ein IDTSInput100 Objekt über die Schnittstelle IDTSPath100 mit der Komponente verbunden ist.

OnInputPathDetached(Int32)

Wird aufgerufen, wenn ein IDTSInput100 Objekt über die Schnittstelle IDTSPath100 von der Komponente getrennt wird.

OnOutputPathAttached(Int32)

Wird aufgerufen, wenn ein IDTSOutput100 Objekt der Komponente an eine nachgeschaltete Komponente angeschlossen ist.

PerformDowngrade(Int32, DTSTargetServerVersion)

Standardmäßig sollte PerformDowngrade ComponentDowngradeFailedException nicht auslösen, da die Laufzeit nur über targetServerVersion bestimmen kann, ob diese Methode aufgerufen wird; sie kann die Komponentenversion nicht überprüfen, da sie nicht weiß, ob die Komponentenversion zwischen zwei SSIS-Versionen geändert wurde, während die Methode PerformUpgrade prüft, ob die Komponentenversion im XML-Paket kleiner ist als die aktuelle Komponentenversion, bevor sie aufgerufen wird.

PerformUpgrade(Int32)

Aktualisiert die Komponentenmetadaten auf die Version der auf dem lokalen Computer installierten Komponente.

PostExecute()

Am Ende der Komponentenausführung aufgerufen, aber vor Cleanup().

PreExecute()

Danach gerufen PrepareForExecute(), und davor PrimeOutput(Int32, Int32[], PipelineBuffer[]) und ProcessInput(Int32, PipelineBuffer).

PrepareForExecute()

Habe vorher PreExecute()angerufen.

PrimeOutput(Int32, Int32[], PipelineBuffer[])

Zur Laufzeit wird Quellkomponenten und Transformationskomponenten mit asynchronen Ausgängen aufgerufen, damit diese Komponenten Zeilen zu den Ausgabepuffern hinzufügen können.

ProcessInput(Int32, PipelineBuffer)

Wird zur Laufzeit aufgerufen, wenn eine PipelineBuffer von einer Upstream-Komponente für die Komponente verfügbar ist, damit die Komponente die eingehenden Zeilen verarbeiten kann.

ProvideComponentProperties()

Wird aufgerufen, wenn eine Komponente erstmals zur Datenflussaufgabe hinzugefügt wird, um die ComponentMetaData von der Komponente zu initialisieren.

RegisterEvents()

Wenn Sie eine benutzerdefinierte Datenflusskomponente entwickeln, überschreiben Sie diese Methode, um benutzerdefinierte Ereignisse zu erstellen.

RegisterLogEntries()

Registriert die Ereignisse, die die Komponente protokolliert.

ReinitializeMetaData()

Behebt alle während der Validierung festgestellten Fehler, die dazu führen, dass die Komponente zur Entwurfszeit zurückkehrt VS_NEEDSNEWMETADATA .

ReleaseConnections()

Befreit die während hergestellten Verbindungen AcquireConnections(Object). Wurde zur Design- und Laufzeit aufgerufen.

RemoveAllInputsOutputsAndCustomProperties()

Löscht jedes und IDTSOutput100 Objekt IDTSInput100 aus der Komponente.

SetComponentProperty(String, Object)

Weist a IDTSCustomProperty100 von der Komponente einen Wert zu.

SetExternalMetadataColumnDataTypeProperties(Int32, Int32, DataType, Int32, Int32, Int32, Int32)

Legt die Datentypeigenschaften der angegebenen externen Metadaten-Spalte fest.

SetExternalMetadataColumnProperty(Int32, Int32, String, Object)

Setzt eine individuelle Eigenschaft einer externen Metadaten-Spalte.

SetInputColumnProperty(Int32, Int32, String, Object)

Weist dem von einem IDTSCustomProperty100IDTSInputColumn100 Objekt einen Wert zu.

SetInputProperty(Int32, String, Object)

Weist dem von einem IDTSCustomProperty100IDTSInput100 Objekt einen Wert zu.

SetOutputColumnDataTypeProperties(Int32, Int32, DataType, Int32, Int32, Int32, Int32)

Setzt die Datentypeigenschaften eines IDTSOutputColumn100 Objekts.

SetOutputColumnProperty(Int32, Int32, String, Object)

Setzt den Wert von an IDTSCustomProperty100 für ein IDTSOutputColumn100 Objekt.

SetOutputProperty(Int32, String, Object)

Setzt den Wert von an IDTSCustomProperty100 auf einem IDTSOutput100 Objekt.

SetUsageType(Int32, IDTSVirtualInput100, Int32, DTSUsageType)

Erstellt ein IDTSInputColumn100 Objekt in der IDTSInputColumnCollection100 der Komponente und setzt die UsageType Eigenschaft der Spalte.

Validate()

Überprüft, dass die Komponente korrekt konfiguriert ist.

Gilt für: