Condividi tramite


PipelineComponent Classe

Definizione

Definisce la classe di base utilizzata per lo sviluppo di componenti flusso di dati gestiti.

public ref class PipelineComponent
public class PipelineComponent
type PipelineComponent = class
Public Class PipelineComponent
Ereditarietà
PipelineComponent
Derivato

Esempio

Nell'esempio di codice seguente viene illustrato un componente che implementa DtsPipelineComponentAttribute e eredita dalla 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  

Commenti

Ereditare da questa classe per creare un componente del flusso di dati personalizzato. Questa classe implementa le interfacce IDTSDesigntimeComponent100 dei componenti necessarie e IDTSRuntimeComponent100. Si esegue l'override dell'implementazione della classe di base di questi metodi per fornire la funzionalità del componente. PipelineComponent fornisce metodi helper oltre ai metodi delle interfacce dei componenti per facilitare lo sviluppo del componente.

Costruttori

PipelineComponent()

Inizializza una nuova istanza della classe PipelineComponent.

Campi

s_STOCKPROPNAME_COMPFLAGS

Contiene il nome della proprietà ComparisonFlags dei componenti del flusso di dati.

s_STOCKPROPNAME_DELOUTPUTONPATHDETACHED

Contiene il nome della proprietà DeleteOutputOnPathDetached dei componenti del flusso di dati.

s_STOCKPROPNAME_EXCLGROUP

Contiene il nome della proprietà ExclusionGroup dei componenti del flusso di dati.

s_STOCKPROPNAME_HASSIDEEFFECTS

Contiene il nome della proprietà HasSideEffects dei componenti del flusso di dati.

s_STOCKPROPNAME_ISDISTRIBUTABLE

Contiene il nome della proprietà IsDistributable dei componenti del flusso di dati.

s_STOCKPROPNAME_ISERROROUT

Contiene il nome della proprietà IsErrorOut dei componenti del flusso di dati.

s_STOCKPROPNAME_ISSORTED

Contiene il nome della proprietà IsSorted dei componenti del flusso di dati.

s_STOCKPROPNAME_REFMETADATAID

Contiene il nome della proprietà ReferenceMetaDataID dei componenti del flusso di dati.

s_STOCKPROPNAME_SORTKEYPOS

Contiene il nome della proprietà SortKeyPosition dei componenti del flusso di dati.

s_STOCKPROPNAME_SYNCINPUTID

Contiene il nome della proprietà SynchronousInputID dei componenti del flusso di dati.

Proprietà

BufferManager

Ottiene l'oggetto IDTSBufferManager100 del componente pipeline.

ComponentMetaData

Ottiene l'oggetto IDTSComponentMetaData100 per un componente.

ErrorSupport

Restituisce un ErrorSupport oggetto che consente al componente di generare errori, avvisi o altri eventi informativi basati su HRESULT restituiti dai componenti di Integration Services scritti nel codice nativo.

EventInfos

Ottiene la raccolta IDTSEventInfos100 dell'oggetto PipelineComponent.

LogEntryInfos

Ottiene una raccolta IDTSLogEntryInfos100 di eventi di registrazione registrati dal componente.

ReferenceTracker

Ottiene l'oggetto IDTSObjectReferenceTracker100 associato al componente.

VariableDispenser

Ottiene l'oggetto IDTSVariableDispenser100 del componente del flusso di dati.

Metodi

AcquireConnections(Object)

Stabilisce una connessione a una gestione connessione.

AddErrorOutput(String, Int32, Int32)

Aggiunge un IDTSOutput100 oggetto e lo contrassegna come output degli errori impostando la IsErrorOut proprietà su true.

BufferTypeToDataRecordType(DataType)

Restituisce un tipo di dati gestito basato su un tipo di dati di Integration Services.

Cleanup()

Libera risorse e completa l'esecuzione del componente.

ConvertBufferDataTypeToFitManaged(DataType, Boolean)

Ottiene l'integration Services DataType appropriato dal codice gestito.

DataRecordTypeToBufferType(Type)

Ottiene Integration Services DataType che corrisponde a un tipo gestito.

DeleteExternalMetadataColumn(Int32, Int32)

Elimina la colonna di metadati esterna dalla raccolta di colonne di metadati esterne nella posizione di indice specificata.

DeleteInput(Int32)

Elimina un oggetto IDTSInput100 dalla raccolta IDTSInputCollection100.

DeleteOutput(Int32)

Elimina un oggetto IDTSOutput100 dalla raccolta IDTSOutputCollection100.

DeleteOutputColumn(Int32, Int32)

Elimina un oggetto IDTSOutputColumn100 dalla raccolta IDTSOutputColumnCollection100.

DescribeRedirectedErrorCode(Int32)

Fornisce informazioni sul codice di errore per una riga PipelineBuffer aggiunta a un buffer di output.

GetDependentInputs(Int32)

Restituisce una raccolta di ID degli input in attesa di più dati e che pertanto bloccano l'input specificato.

GetErrorOutputInfo(Int32, Int32)

Restituisce l'indice e l'ID dell'output degli errori del componente.

idxOfBufferType(DataType)

Specifica il tipo di indice del buffer.

idxOfDataRecordType(Type)

Specifica il tipo di indice dei record di dati.

Initialize()

In caso di override in una classe derivata, inizializza una nuova istanza di un componente flusso di dati personalizzato.

InsertExternalMetadataColumnAt(Int32, Int32, String, String)

Inserisce una nuova colonna di metadati esterna nella raccolta di colonne di metadati esterne nella posizione di indice specificata.

InsertInput(DTSInsertPlacement, Int32)

Aggiunge un oggetto IDTSInput100 all'oggetto IDTSInputCollection100.

InsertOutput(DTSInsertPlacement, Int32)

Aggiunge un nuovo oggetto IDTSOutput100.

InsertOutputColumnAt(Int32, Int32, String, String)

Crea un nuovo oggetto IDTSOutputColumn100 e lo inserisce in IDTSOutputColumnCollection100.

IsCompatibleNumericTypes(DataType, DataType)

Determina se due tipi di dati numerici sono compatibili per supportare una conversione da un tipo all'altro.

IsInputReady(Int32[], Boolean[])

Determina quali input associati a un componente sono in attesa di più dati e quali dispongono di dati sufficienti da elaborare e sono bloccati.

MapInputColumn(Int32, Int32, Int32)

Stabilisce una relazione tra una colonna di input e una colonna di metadati esterna corrispondente.

MapOutputColumn(Int32, Int32, Int32, Boolean)

Stabilisce una relazione tra una colonna di output e una colonna di metadati esterna corrispondente.

OnDeletingInputColumn(Int32, Int32)

Elimina un oggetto IDTSInputColumn100 da IDTSInputColumnCollection100.

OnInputPathAttached(Int32)

Chiamato quando un oggetto IDTSInput100 è connesso al componente tramite l'interfaccia IDTSPath100.

OnInputPathDetached(Int32)

Chiamato quando un oggetto IDTSInput100 è disconnesso dal componente tramite l'interfaccia IDTSPath100.

OnOutputPathAttached(Int32)

Chiamato quando un oggetto IDTSOutput100 del componente viene collegato a un componente a valle.

PerformDowngrade(Int32, DTSTargetServerVersion)

Per impostazione predefinita, PerformDowngrade non deve generare ComponentDowngradeFailedException perché il runtime può determinare solo se chiamare questo metodo da targetServerVersion; non è in grado di controllare la versione del componente perché non sa se la versione del componente è stata modificata tra due versioni di SSIS, mentre il metodo PerformUpgrade verificherà se la versione del componente nel file XML del pacchetto è inferiore alla versione del componente corrente prima di essere chiamata.

PerformUpgrade(Int32)

Aggiorna i metadati del componente alla versione del componente installata nel computer locale.

PostExecute()

Chiamato alla fine dell'esecuzione di un componente, ma prima di Cleanup().

PreExecute()

Chiamato dopo PrepareForExecute() e prima di PrimeOutput(Int32, Int32[], PipelineBuffer[]) e ProcessInput(Int32, PipelineBuffer).

PrepareForExecute()

Chiamato prima di PreExecute().

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

Chiamato in fase di esecuzione per componenti di origine e di trasformazione con output asincroni, per consentire a tali componenti di aggiungere righe ai buffer di output.

ProcessInput(Int32, PipelineBuffer)

Chiamato in fase di esecuzione quando un oggetto PipelineBuffer di un componente a monte è disponibile per il componente, per consentirgli di elaborare le righe in ingresso.

ProvideComponentProperties()

Chiamato quando un componente viene aggiunto all'attività Flusso di dati per inizializzare l'oggetto ComponentMetaData del componente.

RegisterEvents()

Durante lo sviluppo di un componente flusso di dati personalizzato, viene eseguito l'override di questo metodo per creare eventi personalizzati.

RegisterLogEntries()

Registra gli eventi che verranno registrati dal componente.

ReinitializeMetaData()

Corregge qualsiasi errore identificato durante la convalida che causa la restituzione di VS_NEEDSNEWMETADATA da parte del componente in fase di progettazione.

ReleaseConnections()

Libera le connessioni stabilite durante AcquireConnections(Object). Chiamato in fase di progettazione e di esecuzione.

RemoveAllInputsOutputsAndCustomProperties()

Elimina ogni oggetto IDTSInput100 e IDTSOutput100 dal componente.

SetComponentProperty(String, Object)

Assegna un valore a un oggetto IDTSCustomProperty100 del componente.

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

Imposta le proprietà del tipo di dati della colonna di metadati esterna specificata.

SetExternalMetadataColumnProperty(Int32, Int32, String, Object)

Imposta una singola proprietà di una colonna di metadati esterna.

SetInputColumnProperty(Int32, Int32, String, Object)

Assegna un valore all'oggetto IDTSCustomProperty100 di un oggetto IDTSInputColumn100.

SetInputProperty(Int32, String, Object)

Assegna un valore all'oggetto IDTSCustomProperty100 di un oggetto IDTSInput100.

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

Imposta le proprietà del tipo di dati di un oggetto IDTSOutputColumn100.

SetOutputColumnProperty(Int32, Int32, String, Object)

Imposta il valore di un oggetto IDTSCustomProperty100 per un oggetto IDTSOutputColumn100.

SetOutputProperty(Int32, String, Object)

Imposta il valore di un oggetto IDTSCustomProperty100 su un oggetto IDTSOutput100.

SetUsageType(Int32, IDTSVirtualInput100, Int32, DTSUsageType)

Crea un oggetto IDTSInputColumn100 nell'oggetto IDTSInputColumnCollection100 del componente e imposta la proprietà UsageType della colonna.

Validate()

Verifica che il componente sia configurato correttamente.

Si applica a