PipelineComponent.BufferManager 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
중요
이 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 메서드는 구성 요소에서 구성 요소의 열을 IDTSInputColumnCollection100IDTSOutputColumnCollection100PipelineBuffer찾는 데 사용됩니다. 이 작업은 포함된 열 수가 구성 요소에 PipelineBuffer 필요한 열 수를 초과할 수 있기 때문에 필요합니다.
또한 , BufferManager 및 CreateVirtualBuffer 메서드를 사용하여 새 IDTSBuffer100 개체를 CreateBufferCreateFlatBuffer만드는 데도 사용됩니다. 그러나 이러한 메서드는 관리 코드에서 지원되지 않으며 네이티브 C++ 구성 요소를 작성할 때만 사용해야 합니다.