PipelineComponent Classe

Définition

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

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 et DtsPipelineComponentAttribute 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 de composant requises et IDTSDesigntimeComponent100IDTSRuntimeComponent100. Vous remplacez l’implémentation de classe de base de ces méthodes pour fournir les fonctionnalités de votre composant. PipelineComponent fournit des méthodes d’assistance en plus des méthodes des interfaces de composant pour vous aider à développer votre composant.

Constructeurs

PipelineComponent()

Initialise une nouvelle instance de la classe PipelineComponent.

Champs

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

BufferManager

Obtient l'objet IDTSBufferManager100 du composant de pipeline.

ComponentMetaData

Obtient l'objet IDTSComponentMetaData100 pour un composant.

ErrorSupport

Retourne un ErrorSupport objet qui permet au composant de déclencher des erreurs, des avertissements ou d’autres événements d’informations basés sur les HRESULT retournés par les composants Integration Services écrits dans du code natif.

EventInfos

Obtient la collection IDTSEventInfos100 de l'objet PipelineComponent.

LogEntryInfos

Obtient une collection IDTSLogEntryInfos100 d'événements de journalisation enregistrés par le composant.

ReferenceTracker

Obtient l'objet IDTSObjectReferenceTracker100 associé au composant.

VariableDispenser

Obtient l'objet IDTSVariableDispenser100 du composant de flux de données.

Méthodes

AcquireConnections(Object)

Établit une connexion à un gestionnaire de connexions.

AddErrorOutput(String, Int32, Int32)

Ajoute un IDTSOutput100 objet et le marque comme sortie d’erreur en définissant la IsErrorOut propriété sur true.

BufferTypeToDataRecordType(DataType)

Retourne un type de données managé 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 managé.

DataRecordTypeToBufferType(Type)

Obtient integration Services DataType qui correspond à un type managé.

DeleteExternalMetadataColumn(Int32, Int32)

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

DeleteInput(Int32)

Supprime un objet IDTSInput100 de la collection IDTSInputCollection100.

DeleteOutput(Int32)

Supprime un objet IDTSOutput100 de la collection IDTSOutputCollection100.

DeleteOutputColumn(Int32, Int32)

Supprime un objet IDTSOutputColumn100 de la collection IDTSOutputColumnCollection100.

DescribeRedirectedErrorCode(Int32)

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

GetDependentInputs(Int32)

Retourne une collection d'ID des entrées qui attendent davantage de données et donc bloquent 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 de l'index de tampon.

idxOfDataRecordType(Type)

Spécifie le type de l'index d'enregistrement de données.

Initialize()

En cas de remplacement dans une classe dérivée, 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 objet IDTSInput100 au IDTSInputCollection100.

InsertOutput(DTSInsertPlacement, Int32)

Ajoute un nouvel objet IDTSOutput100.

InsertOutputColumnAt(Int32, Int32, String, String)

Crée un objet IDTSOutputColumn100 et l'insère dans la collection IDTSOutputColumnCollection100.

IsCompatibleNumericTypes(DataType, DataType)

Détermine si deux types de données numériques sont compatibles pour prendre en charge une conversion d'un type à l'autre.

IsInputReady(Int32[], Boolean[])

Détermine quelles entrées jointes à un composant attendent davantage de données et lesquelles disposent d'assez de données à traiter et sont bloquées.

MapInputColumn(Int32, Int32, Int32)

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

MapOutputColumn(Int32, Int32, Int32, Boolean)

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

OnDeletingInputColumn(Int32, Int32)

Supprime un objet IDTSInputColumn100 de IDTSInputColumnCollection100.

OnInputPathAttached(Int32)

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

OnInputPathDetached(Int32)

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

OnOutputPathAttached(Int32)

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

PerformDowngrade(Int32, DTSTargetServerVersion)

Par défaut, PerformDowngrade ne doit pas lever ComponentDowngradeFailedException, car le runtime peut uniquement déterminer s’il faut appeler cette méthode 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érifie si la version du composant dans le xml du package est inférieure à la version actuelle du composant avant d’être appelée.

PerformUpgrade(Int32)

Met à niveau des métadonnées du composant vers la version du composant installée sur l'ordinateur local.

PostExecute()

Appelée à la fin de l'exécution du composant mais avant l'objet Cleanup().

PreExecute()

Appelée après la méthode PrepareForExecute() et avant les méthodes PrimeOutput(Int32, Int32[], PipelineBuffer[]) et ProcessInput(Int32, PipelineBuffer).

PrepareForExecute()

Appelée avant la méthode PreExecute().

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

Appelée au moment de l'exécution pour des composants source et des composants de transformation à sorties asynchrones pour permettre à ces composants d'ajouter des lignes aux tampons de sortie.

ProcessInput(Int32, PipelineBuffer)

Appelée au moment de l'exécution lorsqu'un objet PipelineBuffer d'un composant en amont est disponible pour permettre au composant de traiter les lignes entrantes.

ProvideComponentProperties()

Appelée lorsqu'un composant est ajouté pour la première fois à la tâche de flux de données, pour initialiser la propriété ComponentMetaData du composant.

RegisterEvents()

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

RegisterLogEntries()

Enregistre les événements que le composant journalisera.

ReinitializeMetaData()

Répare toutes les erreurs identifiées pendant la validation qui provoquent un retour de l'objet VS_NEEDSNEWMETADATA par le composant au moment de la conception.

ReleaseConnections()

Libère les connexions établies pendant l'exécution de la méthode AcquireConnections(Object). Appelée au moment de la conception et au moment de l'exécution.

RemoveAllInputsOutputsAndCustomProperties()

Supprime du composant chaque objet IDTSInput100 et IDTSOutput100.

SetComponentProperty(String, Object)

Affecte une valeur à un objet 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 externes spécifiée.

SetExternalMetadataColumnProperty(Int32, Int32, String, Object)

Définit une propriété individuelle d'une colonne de métadonnées externes.

SetInputColumnProperty(Int32, Int32, String, Object)

Affecte une valeur à l'objet IDTSCustomProperty100 d'un objet IDTSInputColumn100.

SetInputProperty(Int32, String, Object)

Affecte une valeur à l'objet IDTSCustomProperty100 d'un objet IDTSInput100.

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

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

SetOutputColumnProperty(Int32, Int32, String, Object)

Définit la valeur d'un objet IDTSCustomProperty100 pour un objet IDTSOutputColumn100.

SetOutputProperty(Int32, String, Object)

Définit la valeur d'un objet IDTSCustomProperty100 sur un objet IDTSOutput100.

SetUsageType(Int32, IDTSVirtualInput100, Int32, DTSUsageType)

Crée un objet IDTSInputColumn100 dans la collection IDTSInputColumnCollection100 du composant et définit la propriété UsageType de la colonne.

Validate()

Vérifie que le composant est configuré correctement.

S’applique à