次の方法で共有


PipelineComponent.BufferManager Property

パイプライン コンポーネントの IDTSBufferManager90 を取得します。 このプロパティは、CLS に準拠していません。

名前空間: Microsoft.SqlServer.Dts.Pipeline
アセンブリ: Microsoft.SqlServer.PipelineHost (microsoft.sqlserver.pipelinehost.dll 内)

構文

'宣言
<CLSCompliantAttribute(False)> _
Public ReadOnly Property BufferManager As IDTSBufferManager90
[CLSCompliantAttribute(false)] 
public IDTSBufferManager90 BufferManager { get; }
[CLSCompliantAttribute(false)] 
public:
property IDTSBufferManager90^ BufferManager {
    IDTSBufferManager90^ get ();
}
/** @property */
public IDTSBufferManager90 get_BufferManager ()
public function get BufferManager () : IDTSBufferManager90

プロパティ値

IDTSBufferManager90 オブジェクトです。

解説

BufferManager は、PreExecute メソッドのコンポーネントで最初に利用可能な読み取り専用の実行時プロパティです。

FindColumnByLineageID メソッドは、PipelineBuffer 内で、コンポーネントの IDTSInputColumnCollection90 または IDTSOutputColumnCollection90 内のコンポーネント列を検索するために使用されます。PipelineBuffer に含まれる列の数はコンポーネントで予測した列の数より多い場合があるため、このメソッドが必要です。

また、BufferManager は、CreateBufferCreateFlatBufferCreateVirtualBuffer の各メソッドを使用して新しい IDTSBuffer90 オブジェクトを作成するためにも使用されます。ただし、これらのメソッドはマネージ コードではサポートされず、ネイティブ C++ コンポーネントを記述するときにのみ使用されます。

使用例

次のコード例は、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 )
        {
            IDTSInput90 i = ComponentMetaData.InputCollection.GetObjectByID( InputID );
            foreach( IDTSInputColumn90 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 IDTSInput90 = ComponentMetaData.InputCollection.GetObjectByID(InputID) 
     For Each col As IDTSInputColumn90 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

スレッド セーフ

この型の public static (Microsoft Visual Basic では共有 ) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。

プラットフォーム

開発プラットフォーム

サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。

対象プラットフォーム

サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。

参照

関連項目

PipelineComponent Class
PipelineComponent Members
Microsoft.SqlServer.Dts.Pipeline Namespace