PipelineComponent.BufferManager 속성

정의

Important

이 API는 CLS 규격이 아닙니다.

파이프라인 구성 요소를 얻 IDTSBufferManager100 습니다.

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

속성 값

IDTSBufferManager100 개체

특성

예제

다음 코드 예시는 이 속성을 사용하여 BufferManager 행 내 PipelineBuffer 열을 찾는 방법을 보여줍니다.

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  

설명

BufferManager 메서드 내 PreExecute 구성 요소에 먼저 제공되는 읽기 전용 실행 시간 속성입니다.

FindColumnByLineageID 방법은 구성 요소의 열 IDTSInputColumnCollection100IDTSOutputColumnCollection100 을 해당 또는 의 위치에 위치시키는 데 사용됩니다.PipelineBuffer 이는 포함된 PipelineBuffer 열 수가 구성 요소가 기대하는 열 수를 초과할 수 있기 때문에 필요합니다.

또한 BufferManager , , IDTSBuffer100CreateBuffer 메서드를 사용하여 CreateFlatBuffer새로운 CreateVirtualBuffer 객체를 생성하는 데도 사용됩니다. 하지만 이러한 메서드는 관리된 코드에서 지원되지 않으며, 네이티브 C++ 컴포넌트를 작성할 때만 사용해야 합니다.

적용 대상