Aracılığıyla paylaş


PipelineComponent.BufferManager Özelliği

Alır IDTSBufferManager100 Potansiyel satış bileşeni.

Bu API, CLS ile uyumlu değildir. 

Ad Alanı:  Microsoft.SqlServer.Dts.Pipeline
Derleme:  Microsoft.SqlServer.PipelineHost (Microsoft.SqlServer.PipelineHost içinde.dll)

Sözdizimi

'Bildirim
<CLSCompliantAttribute(False)> _
Public ReadOnly Property BufferManager As IDTSBufferManager100
    Get
'Kullanım
Dim instance As PipelineComponent
Dim value As IDTSBufferManager100

value = instance.BufferManager
[CLSCompliantAttribute(false)]
public IDTSBufferManager100 BufferManager { get; }
[CLSCompliantAttribute(false)]
public:
property IDTSBufferManager100^ BufferManager {
    IDTSBufferManager100^ get ();
}
[<CLSCompliantAttribute(false)>]
member BufferManager : IDTSBufferManager100
function get BufferManager () : IDTSBufferManager100

Açıklamalar

BufferManager Olan bir okuma yalnızca yürütme -saat ilk bileşenleri kullanılabilir özellik PreExecute yöntem.

FindColumnByLineageID yöntem bir bileşenin sütunları bulmak için kullanılan IDTSInputColumnCollection100 veya IDTSOutputColumnCollection100 bileşeni, de PipelineBuffer.Sütun sayısı bulunan bu gereklidir, çünkü PipelineBuffer aşabileceğini sütun sayısı beklenen bileşen.

BufferManager De yeni oluşturmak için kullanılan IDTSBuffer100 kullanarak nesneleri CreateBuffer, CreateFlatBuffer, ve CreateVirtualBuffer yöntemleri.Bununla birlikte, bu yöntemler arasında desteklenmez yönetilen kodve yalnızca yerel c++ bileşenleri yazarken kullanılması gerekir.

Örnekler

Aşağıdaki kod örneği nasıl kullanılacağını gösterir BufferManager özellik içindeki sütunları bulmak için bir PipelineBuffer satır.

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