PipelineComponent Klasse

Definition

Definiert die Basisklasse, die bei der Entwicklung verwalteter 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 Klasse implementiert und erbt PipelineComponent .

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

Erben Sie von dieser Klasse, um Ihre eigene Datenflusskomponente zu erstellen. Diese Klasse implementiert die erforderlichen Komponentenschnittstellen IDTSDesigntimeComponent100 und IDTSRuntimeComponent100. Sie überschreiben die Basisklassenimplementierung dieser Methoden, um die Funktionalität Ihrer Komponente bereitzustellen. PipelineComponent bietet Hilfsmethoden zusätzlich zu den Methoden der Komponentenschnittstellen, die Ihnen bei der Entwicklung Ihrer Komponente helfen.

Konstruktoren

PipelineComponent()

Initialisiert eine neue Instanz der PipelineComponent-Klasse.

Felder

s_STOCKPROPNAME_COMPFLAGS

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

s_STOCKPROPNAME_DELOUTPUTONPATHDETACHED

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

s_STOCKPROPNAME_EXCLGROUP

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

s_STOCKPROPNAME_HASSIDEEFFECTS

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

s_STOCKPROPNAME_ISDISTRIBUTABLE

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

s_STOCKPROPNAME_ISERROROUT

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

s_STOCKPROPNAME_ISSORTED

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

s_STOCKPROPNAME_REFMETADATAID

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

s_STOCKPROPNAME_SORTKEYPOS

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

s_STOCKPROPNAME_SYNCINPUTID

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

Eigenschaften

BufferManager

Ruft den IDTSBufferManager100 der Pipelinekomponente ab.

ComponentMetaData

Ruft IDTSComponentMetaData100 für eine Komponente ab.

ErrorSupport

Gibt ein ErrorSupport Objekt zurück, mit dem die Komponente Fehler, Warnungen oder andere Informationsereignisse basierend auf HRESULTs auslösen kann, die von Integration Services-Komponenten zurückgegeben werden, die in systemeigenem Code geschrieben wurden.

EventInfos

Ruft die IDTSEventInfos100-Auflistung des PipelineComponent-Objekts ab.

LogEntryInfos

Ruft eine IDTSLogEntryInfos100-Auflistung von Protokollierungsereignissen ab, die von der Komponente registriert wurden.

ReferenceTracker

Ruft den der Komponente zugeordneten IDTSObjectReferenceTracker100 ab.

VariableDispenser

Ruft den IDTSVariableDispenser100 der Datenflusskomponente ab.

Methoden

AcquireConnections(Object)

Stellt eine Verbindung mit einem Verbindungs-Manager her.

AddErrorOutput(String, Int32, Int32)

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

BufferTypeToDataRecordType(DataType)

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

Cleanup()

Gibt Ressourcen frei und schließt die Ausführung der Komponente ab.

ConvertBufferDataTypeToFitManaged(DataType, Boolean)

Ruft die entsprechenden Integrationsdienste DataType aus verwaltetem Code ab.

DataRecordTypeToBufferType(Type)

Ruft die Integrationsdienste DataType ab, die einem verwalteten Typ entsprechen.

DeleteExternalMetadataColumn(Int32, Int32)

Löscht die externe Metadatenspalte am angegebenen Index aus der Auflistung externer Metadatenspalten.

DeleteInput(Int32)

Löscht ein IDTSInput100-Objekt aus der IDTSInputCollection100-Auflistung.

DeleteOutput(Int32)

Löscht ein IDTSOutput100-Objekt aus der IDTSOutputCollection100-Auflistung.

DeleteOutputColumn(Int32, Int32)

Löscht ein IDTSOutputColumn100-Objekt aus der IDTSOutputColumnCollection100-Auflistung.

DescribeRedirectedErrorCode(Int32)

Stellt Fehlercodeinformationen für eine einem Ausgabepuffer hinzugefügte PipelineBuffer-Zeile bereit.

GetDependentInputs(Int32)

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

GetErrorOutputInfo(Int32, Int32)

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

idxOfBufferType(DataType)

Gibt den Typ des Pufferindex an.

idxOfDataRecordType(Type)

Gibt den Typ des Datensatzindex an.

Initialize()

Initialisiert beim Überschreiben in einer abgeleiteten Klasse eine neue Instanz einer benutzerdefinierten Datenflusskomponente.

InsertExternalMetadataColumnAt(Int32, Int32, String, String)

Fügt eine neue externe Metadatenspalte am angegebenen Index in die Auflistung externer Metadatenspalten ein.

InsertInput(DTSInsertPlacement, Int32)

Fügt IDTSInput100 ein IDTSInputCollection100-Objekt hinzu.

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 IDTSOutputColumnCollection100 ein.

IsCompatibleNumericTypes(DataType, DataType)

Bestimmt, ob zwei numerische Datentypen kompatibel sind, um eine Konvertierung von einem Typ in den anderen zu unterstützen.

IsInputReady(Int32[], Boolean[])

Bestimmt, welche der an eine Komponente angefügten Eingaben auf weitere Daten warten und welche Eingaben über ausreichend Daten für die Verarbeitung verfügen und blockiert werden.

MapInputColumn(Int32, Int32, Int32)

Legt eine Beziehung zwischen einer Eingabespalte und einer entsprechenden externen Metadatenspalte fest.

MapOutputColumn(Int32, Int32, Int32, Boolean)

Legt eine Beziehung zwischen einer Ausgabespalte und einer entsprechenden externen Metadatenspalte fest.

OnDeletingInputColumn(Int32, Int32)

Löscht ein IDTSInputColumn100-Objekt aus IDTSInputColumnCollection100.

OnInputPathAttached(Int32)

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

OnInputPathDetached(Int32)

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

OnOutputPathAttached(Int32)

Wird aufgerufen, wenn ein IDTSOutput100-Objekt der Komponente an eine Downstreamkomponente angefügt wird.

PerformDowngrade(Int32, DTSTargetServerVersion)

Standardmäßig sollte "PerformDowngrade" "ComponentDowngradeFailedException" nicht ausgelöst werden, da die Laufzeit nur bestimmen kann, ob diese Methode von targetServerVersion aufgerufen werden soll; Die Komponentenversion kann nicht überprüft werden, da sie nicht weiß, ob die Komponentenversion zwischen zwei SSIS-Versionen geändert wurde, während die Methode PerformUpgrade überprüft, ob die Komponentenversion in Paket-XML kleiner als die aktuelle Komponentenversion ist, bevor sie aufgerufen wird.

PerformUpgrade(Int32)

Aktualisiert die Komponentenmetadaten auf die Version der Komponente, die auf dem lokalen Computer installiert ist.

PostExecute()

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

PreExecute()

Wird nach PrepareForExecute() sowie vor PrimeOutput(Int32, Int32[], PipelineBuffer[]) und ProcessInput(Int32, PipelineBuffer) aufgerufen.

PrepareForExecute()

Wird vor PreExecute() aufgerufen.

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

Wird zur Laufzeit für Quell- und Transformationskomponenten mit asynchronen Ausgaben aufgerufen, damit diese Komponenten den Ausgabepuffern Zeilen hinzufügen können.

ProcessInput(Int32, PipelineBuffer)

Wird zur Laufzeit aufgerufen, wenn PipelineBuffer aus einer Upstreamkomponente der Komponente für die Verarbeitung eingehender Zeilen zur Verfügung steht.

ProvideComponentProperties()

Wird aufgerufen, wenn eine Komponente dem Datenflusstask zuerst hinzugefügt wird, um die ComponentMetaData 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 von der Komponente protokolliert werden.

ReinitializeMetaData()

Repariert alle während der Überprüfung identifizierten Fehler, die dazu führen, dass die Komponente zur Entwurfszeit VS_NEEDSNEWMETADATA zurückgibt.

ReleaseConnections()

Gibt die während AcquireConnections(Object) hergestellten Verbindungen frei. Wird zur Entwurfs- und Laufzeit aufgerufen.

RemoveAllInputsOutputsAndCustomProperties()

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

SetComponentProperty(String, Object)

Weist einer IDTSCustomProperty100 der Komponente einen Wert zu.

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

Legt die Datentypeigenschaften der angegebenen externen Metadatenspalte fest.

SetExternalMetadataColumnProperty(Int32, Int32, String, Object)

Legt eine einzelne Eigenschaft einer externen Metadatenspalte fest.

SetInputColumnProperty(Int32, Int32, String, Object)

Weist der IDTSCustomProperty100 eines IDTSInputColumn100-Objekts einen Wert zu.

SetInputProperty(Int32, String, Object)

Weist der IDTSCustomProperty100 eines IDTSInput100-Objekts einen Wert zu.

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

Legt die Datentypeigenschaften eines IDTSOutputColumn100-Objekts fest.

SetOutputColumnProperty(Int32, Int32, String, Object)

Legt den Wert von IDTSCustomProperty100 für ein IDTSOutputColumn100-Objekt fest.

SetOutputProperty(Int32, String, Object)

Legt den Wert von IDTSCustomProperty100 für ein IDTSOutput100-Objekt fest.

SetUsageType(Int32, IDTSVirtualInput100, Int32, DTSUsageType)

Erstellt ein IDTSInputColumn100-Objekt in der IDTSInputColumnCollection100 der Komponente und legt die UsageType-Eigenschaft der Spalte fest.

Validate()

Überprüft, ob die Komponente ordnungsgemäß konfiguriert ist.

Gilt für: