PipelineComponent.PreExecute Methode

Definition

public:
 virtual void PreExecute();
public virtual void PreExecute ();
abstract member PreExecute : unit -> unit
override this.PreExecute : unit -> unit
Public Overridable Sub PreExecute ()

Beispiele

Das folgende Beispiel zeigt, wie Sie die Spaltenindizes der Spalten im InputColumnCollectionsuchen. Sie werden in einer lokalen Variablen gespeichert und dann in ProcessInput verwendet, um auf die Spalten im PipelineBufferzuzugreifen.

int[] bufferColumnIndex;  
public override void PreExecute()  
{  
    IDTSInput100 input = ComponentMetaData.InputCollection[0];  
    bufferColumnIndex = new int[input.InputColumnCollection.Count];  
    for ( int x=0; x < input.InputColumnCollection.Count; x++)  
    {  
        bufferColumnIndex[x] = BufferManager.FindColumnByLineageID( input.Buffer, input.InputColumnCollection[x].LineageID);  
    }  
}  
public override void ProcessInput( int inputID, PipelineBuffer buffer )  
{  
    while( buffer.NextRow() )  
    {  
        for( int x=0; x < bufferColumnIndex.Length(); x++ )  
        {  
            if( !buffer.IsNull(bufferColumnIndex[x]))  
            {  
                // TODO: Access the column data.  
            }  
        }  
    }  
}  
Private bufferColumnIndex As Integer()   

Public Overrides Sub PreExecute()   
 Dim input As IDTSInput100 = ComponentMetaData.InputCollection(0)   
 bufferColumnIndex = New Integer(input.InputColumnCollection.Count - 1) {}   
 Dim x As Integer = 0   
 While x < input.InputColumnCollection.Count  
   bufferColumnIndex(x) = BufferManager.FindColumnByLineageID(input.Buffer, input.InputColumnCollection(x).LineageID)   
   x -= 1  
 End While   
End Sub   

Public Overrides Sub ProcessInput(ByVal inputID As Integer, ByVal buffer As PipelineBuffer)   
 While buffer.NextRow   
   Dim x As Integer = 0   
   While x < bufferColumnIndex.Length   
     If Not buffer.IsNull(bufferColumnIndex(x)) Then   
     End If   
     x -= 1  
   End While   
 End While   
End Sub  

Hinweise

Komponentenentwickler sollten so viele Funktionen wie möglich berücksichtigen PreExecute , da sie einmal pro Komponente statt einmal pro Puffer für ProcessInputaufgerufen wird. Komponenten sollten die Indizes ihrer Eingabe- und Ausgabespalten im suchen, PipelineBuffer indem sie die FindColumnByLineageID -Methode von BufferManageraufrufen.

Gilt für: