PipelineComponent.BufferManager Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Important
Cette API n’est pas conforme CLS.
Obtient l'objet IDTSBufferManager100 du composant de pipeline.
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
Valeur de propriété
Objet IDTSBufferManager100.
- Attributs
Exemples
L’exemple de code suivant montre comment utiliser la BufferManager propriété pour localiser les colonnes d’une PipelineBuffer ligne.
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
Remarques
Il BufferManager s’agit d’une propriété en lecture seule et en temps d’exécution qui est d’abord disponible pour les composants de la PreExecute méthode.
La FindColumnByLineageID méthode est utilisée pour localiser les colonnes d’un composant dans le IDTSInputColumnCollection100 ou IDTSOutputColumnCollection100 du composant, dans le PipelineBuffer. Cela est nécessaire, car le nombre de colonnes contenues dans le PipelineBuffer composant peut dépasser le nombre de colonnes attendues par le composant.
Il BufferManager est également utilisé pour créer de nouveaux IDTSBuffer100 objets à l’aide des méthodes, CreateFlatBufferet CreateVirtualBuffer des CreateBufferméthodes. Toutefois, ces méthodes ne sont pas prises en charge à partir du code managé et doivent uniquement être utilisées lors de l’écriture de composants C++ natifs.