PipelineComponent.BufferManager 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
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
속성 값
- 특성
예제
다음 코드 예시는 이 속성을 사용하여 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++ 컴포넌트를 작성할 때만 사용해야 합니다.