PipelineComponent.BufferManager Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Wichtig
Diese API ist nicht CLS-kompatibel.
Ruft den IDTSBufferManager100 der Pipelinekomponente ab.
public:
property Microsoft::SqlServer::Dts::Pipeline::Wrapper::IDTSBufferManager100 ^ BufferManager { Microsoft::SqlServer::Dts::Pipeline::Wrapper::IDTSBufferManager100 ^ get(); };
[System.CLSCompliant(false)]
public Microsoft.SqlServer.Dts.Pipeline.Wrapper.IDTSBufferManager100 BufferManager { get; }
[<System.CLSCompliant(false)>]
member this.BufferManager : Microsoft.SqlServer.Dts.Pipeline.Wrapper.IDTSBufferManager100
Public ReadOnly Property BufferManager As IDTSBufferManager100
Eigenschaftswert
Das IDTSBufferManager100-Objekt.
- Attribute
Beispiele
Im folgenden Codebeispiel wird gezeigt, wie die BufferManager Eigenschaft zum Suchen der Spalten in einer PipelineBuffer Zeile verwendet wird.
using System;
using Microsoft.SqlServer.Dts.Pipeline;
using Microsoft.SqlServer.Dts.Pipeline.Wrapper;
using Microsoft.SqlServer.Dts.Runtime.Wrapper;
namespace Microsoft.Samples.SqlServer.Dts
{
public class SampleComponent : PipelineComponent
{
public override void ProcessInput( int InputID, PipelineBuffer buffer )
{
IDTSInput100 i = ComponentMetaData.InputCollection.GetObjectByID( InputID );
foreach( IDTSInputColumn100 col in i.InputColumnCollection)
{
int colIndex = BufferManager.FindColumnByLineageID(i.Buffer, col.LineageID);
BufferColumn bc =buffer.GetColumnInfo(colIndex);
}
}
}
}
Imports System
Imports Microsoft.SqlServer.Dts.Pipeline
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports Microsoft.SqlServer.Dts.Runtime.Wrapper
Namespace Microsoft.Samples.SqlServer.Dts
Public Class SampleComponent
Inherits PipelineComponent
Public Overrides Sub ProcessInput(ByVal InputID As Integer, ByVal buffer As PipelineBuffer)
Dim i As IDTSInput100 = ComponentMetaData.InputCollection.GetObjectByID(InputID)
For Each col As IDTSInputColumn100 In i.InputColumnCollection
Dim colIndex As Integer = BufferManager.FindColumnByLineageID(i.Buffer, col.LineageID)
Dim bc As BufferColumn = buffer.GetColumnInfo(colIndex)
Next
End Sub
End Class
End Namespace
Hinweise
Dies BufferManager ist eine schreibgeschützte Ausführungszeiteigenschaft, die zuerst komponenten in der PreExecute Methode zur Verfügung steht.
Die FindColumnByLineageID Methode wird verwendet, um die Spalten einer Komponente in der IDTSInputColumnCollection100 Komponente IDTSOutputColumnCollection100 oder in der Komponente in der PipelineBuffer. Dies ist erforderlich, da die Anzahl der spalten, die in der PipelineBuffer Komponente enthalten sind, die Anzahl der spalten überschreiten kann, die von der Komponente erwartet werden.
Dies BufferManager wird auch verwendet, um neue IDTSBuffer100 Objekte mithilfe der CreateBufferMethoden CreateFlatBuffer, und CreateVirtualBuffer methoden zu erstellen. Diese Methoden werden jedoch nicht von verwaltetem Code unterstützt und sollten nur verwendet werden, wenn systemeigene C++-Komponenten geschrieben werden.