PipelineComponent Classe

Définition

Définit la classe de base utilisée lors du développement de composants de flux de données mangés.

public ref class PipelineComponent
public class PipelineComponent
type PipelineComponent = class
Public Class PipelineComponent
Héritage
PipelineComponent
Dérivé

Exemples

L’exemple de code suivant montre un composant qui implémente le DtsPipelineComponentAttribute et hérite de la PipelineComponent classe.

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  

Remarques

Héritez de cette classe pour créer votre propre composant de flux de données. Cette classe implémente les interfaces composantes requises, IDTSDesigntimeComponent100 et IDTSRuntimeComponent100. Vous supplantez l’implémentation de la classe de base de ces méthodes pour fournir la fonctionnalité de votre composant. PipelineComponent Fournit des méthodes d’assistance en plus des méthodes des interfaces composants pour vous aider à développer votre composant.

Constructeurs

Nom Description
PipelineComponent()

Initialise une nouvelle instance de la classe PipelineComponent.

Champs

Nom Description
s_STOCKPROPNAME_COMPFLAGS

Contient le nom de la propriété ComparisonFlags des composants de flux de données.

s_STOCKPROPNAME_DELOUTPUTONPATHDETACHED

Contient le nom de la propriété DeleteOutputOnPathDetached des composants de flux de données.

s_STOCKPROPNAME_EXCLGROUP

Contient le nom de la propriété ExclusionGroup des composants de flux de données.

s_STOCKPROPNAME_HASSIDEEFFECTS

Contient le nom de la propriété HasSideEffects des composants de flux de données.

s_STOCKPROPNAME_ISDISTRIBUTABLE

Contient le nom de la propriété IsDistributable des composants de flux de données.

s_STOCKPROPNAME_ISERROROUT

Contient le nom de la propriété IsErrorOut des composants de flux de données.

s_STOCKPROPNAME_ISSORTED

Contient le nom de la propriété IsSorted des composants de flux de données.

s_STOCKPROPNAME_REFMETADATAID

Contient le nom de la propriété ReferenceMetaDataID des composants de flux de données.

s_STOCKPROPNAME_SORTKEYPOS

Contient le nom de la propriété SortKeyPosition des composants de flux de données.

s_STOCKPROPNAME_SYNCINPUTID

Contient le nom de la propriété SynchronousInputID des composants de flux de données.

Propriétés

Nom Description
BufferManager

Obtient le IDTSBufferManager100 de la composante pipeline.

ComponentMetaData

Obtient le IDTSComponentMetaData100 pour un composant.

ErrorSupport

Retourne un ErrorSupport objet qui permet au composant d’afficher des erreurs, des avertissements ou d’autres événements d’information basés sur les HRESULT retournés par les composants des Services d’Intégration écrits en code natif.

EventInfos

Prend la IDTSEventInfos100 collection de l’objet PipelineComponent .

LogEntryInfos

Obtient une IDTSLogEntryInfos100 collection d’événements de journalisation que le composant a enregistrés.

ReferenceTracker

Obtient l’association IDTSObjectReferenceTracker100 avec le composant.

VariableDispenser

Obtient le IDTSVariableDispenser100 de la composante flux de données.

Méthodes

Nom Description
AcquireConnections(Object)

Établit une connexion avec un gestionnaire de connexion.

AddErrorOutput(String, Int32, Int32)

Ajoute un IDTSOutput100 objet et le marque comme une erreur en mettant IsErrorOut la propriété sur true.

BufferTypeToDataRecordType(DataType)

Retourne un type de données géré basé sur un type de données Integration Services.

Cleanup()

Libère des ressources et termine l’exécution du composant.

ConvertBufferDataTypeToFitManaged(DataType, Boolean)

Obtient les services DataType d’intégration appropriés à partir du code géré.

DataRecordTypeToBufferType(Type)

Obtient les services DataType d’intégration qui correspondent à un type géré.

DeleteExternalMetadataColumn(Int32, Int32)

Supprime la colonne de métadonnées externes à l’index spécifié de la collection des colonnes de métadonnées externes.

DeleteInput(Int32)

Supprime un IDTSInput100 objet de la IDTSInputCollection100 collection.

DeleteOutput(Int32)

Supprime un IDTSOutput100 objet de la IDTSOutputCollection100 collection.

DeleteOutputColumn(Int32, Int32)

Supprime un IDTSOutputColumn100 objet de la IDTSOutputColumnCollection100 collection.

DescribeRedirectedErrorCode(Int32)

Fournit des informations sur le code d’erreur pour une PipelineBuffer ligne ajoutée à un tampon de sortie.

GetDependentInputs(Int32)

Retourne une collection des identifiants d’entrée des entrées qui attendent plus de données, et bloquent donc l’entrée spécifiée.

GetErrorOutputInfo(Int32, Int32)

Retourne l’index et l’ID de la sortie d’erreur du composant.

idxOfBufferType(DataType)

Spécifie le type d’indice tampon.

idxOfDataRecordType(Type)

Spécifie le type d’index des enregistrements de données.

Initialize()

Lorsqu’il est remplacé dans une classe dérivée, il initialise une nouvelle instance d’un composant de flux de données personnalisé.

InsertExternalMetadataColumnAt(Int32, Int32, String, String)

Insère une nouvelle colonne de métadonnées externes dans la collection de colonnes de métadonnées externes à l’index spécifié.

InsertInput(DTSInsertPlacement, Int32)

Ajoute un IDTSInput100 objet au IDTSInputCollection100.

InsertOutput(DTSInsertPlacement, Int32)

Ajoute un nouvel IDTSOutput100 objet

InsertOutputColumnAt(Int32, Int32, String, String)

Crée un nouvel IDTSOutputColumn100 objet et l’insère dans le IDTSOutputColumnCollection100fichier .

IsCompatibleNumericTypes(DataType, DataType)

Détermine si deux types de données numériques sont compatibles pour supporter une conversion d’un type à l’autre.

IsInputReady(Int32[], Boolean[])

Détermine quelles entrées connectées à un composant attendent plus de données, lesquelles ont suffisamment de données à traiter et sont bloquées.

MapInputColumn(Int32, Int32, Int32)

Établit une relation entre une colonne d’entrée et une colonne externe de métadonnées correspondante.

MapOutputColumn(Int32, Int32, Int32, Boolean)

Établit une relation entre une colonne de sortie et une colonne externe de métadonnées correspondante.

OnDeletingInputColumn(Int32, Int32)

Supprime un IDTSInputColumn100 objet du IDTSInputColumnCollection100fichier .

OnInputPathAttached(Int32)

Appelé lorsqu’un IDTSInput100 objet est connecté au composant via l’interface IDTSPath100 .

OnInputPathDetached(Int32)

Appelé lorsqu’un IDTSInput100 objet est déconnecté du composant via l’interface IDTSPath100 .

OnOutputPathAttached(Int32)

Appelé lorsqu’un IDTSOutput100 objet du composant est attaché à un composant en aval.

PerformDowngrade(Int32, DTSTargetServerVersion)

Par défaut, PerformDowngrade ne devrait pas lancer ComponentDowngradeFailedException car le runtime ne peut déterminer si cette méthode doit être appelée uniquement par targetServerVersion ; il ne peut pas vérifier la version du composant car il ne sait pas si la version du composant a été modifiée entre deux versions SSIS, tandis que la méthode PerformUpgrade vérifiera si la version du composant dans le package xml est plus petite que la version actuelle avant d’être appelée.

PerformUpgrade(Int32)

Met à jour les métadonnées du composant vers la version du composant installée sur l’ordinateur local.

PostExecute()

Appelé à la fin de l’exécution des composants, mais avant Cleanup().

PreExecute()

Appelé après PrepareForExecute(), et avant PrimeOutput(Int32, Int32[], PipelineBuffer[]) et ProcessInput(Int32, PipelineBuffer).

PrepareForExecute()

Appelée avant PreExecute().

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

Appelé à l’exécution pour les composants sources et les composants de transformation avec des sorties asynchrones afin de permettre à ces composants d’ajouter des lignes aux tampons de sortie.

ProcessInput(Int32, PipelineBuffer)

Appelé à l’exécution lorsque un PipelineBuffer composant en amont est disponible pour le composant afin de permettre au composant de traiter les lignes entrantes.

ProvideComponentProperties()

Appelé lorsqu’un composant est ajouté pour la première fois à la tâche de flux de données, pour initialiser le ComponentMetaData de ce composant.

RegisterEvents()

Lorsque vous développez un composant de flux de données personnalisé, vous contournez cette méthode pour créer des événements personnalisés.

RegisterLogEntries()

Enregistre les événements que le composant va enregistrer.

ReinitializeMetaData()

Répare les erreurs identifiées lors de la validation qui font revenir VS_NEEDSNEWMETADATA le composant au moment de la conception.

ReleaseConnections()

Libère les connexions établies pendant AcquireConnections(Object). Appelée au moment de la conception et du temps d’exécution.

RemoveAllInputsOutputsAndCustomProperties()

Supprime chaque IDTSInput100 objet IDTSOutput100 du composant.

SetComponentProperty(String, Object)

Attribue une valeur à a IDTSCustomProperty100 du composant.

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

Définit les propriétés de type de données de la colonne de métadonnées externe spécifiée.

SetExternalMetadataColumnProperty(Int32, Int32, String, Object)

Définit une propriété individuelle d’une colonne de métadonnées externe.

SetInputColumnProperty(Int32, Int32, String, Object)

Attribue une valeur à un IDTSCustomProperty100IDTSInputColumn100 objet.

SetInputProperty(Int32, String, Object)

Attribue une valeur à un IDTSCustomProperty100IDTSInput100 objet.

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

Définit les propriétés du type de données d’un IDTSOutputColumn100 objet.

SetOutputColumnProperty(Int32, Int32, String, Object)

Fixe la valeur de un IDTSCustomProperty100 pour un IDTSOutputColumn100 objet.

SetOutputProperty(Int32, String, Object)

Fixe la valeur de un IDTSCustomProperty100 sur un IDTSOutput100 objet.

SetUsageType(Int32, IDTSVirtualInput100, Int32, DTSUsageType)

Crée un IDTSInputColumn100 objet dans le IDTSInputColumnCollection100 de la composante et définit la UsageType propriété de la colonne.

Validate()

Vérifie que le composant est correctement configuré.

S’applique à