PipelineComponent クラス

定義

管理されたデータフローコンポーネントを開発する際に使用するベースクラスを定義します。

public ref class PipelineComponent
public class PipelineComponent
type PipelineComponent = class
Public Class PipelineComponent
継承
PipelineComponent
派生

以下のコード例は、 DtsPipelineComponentAttribute を実装し、 PipelineComponent クラスから継承するコンポーネントを示しています。

using System;  
using Microsoft.SqlServer.Dts.Pipeline.Wrapper;  
namespace Microsoft.Samples.SqlServer.Dts  
{  
    [DtsPipelineComponent(DisplayName="SampleComponent")]  
    public class SampleComponent : PipelineComponent  
    {  
        public override ProvideComponentProperties()  
        {  
            // TODO: Implement component intialization.  
        }  
        public override DTSValidationStatus Validate()  
        {  
            // TODO: Implement component validation.  
        }  
        public override void ProcessInput( int inputID, PipelineBuffer buffer)  
        {  
            // TODO: For transformation and destination components,  
            //  implement code to process incoming rows.  
        }  
    }  
}  
Imports System   
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper   
Namespace Microsoft.Samples.SqlServer.Dts   

 <DtsPipelineComponent(DisplayName="SampleComponent")> _   
 Public Class SampleComponent   
 Inherits PipelineComponent   

   Public Overrides Sub ProvideComponentProperties()   
    ' TODO: Implement component intialization.  
   End Sub   

   Public Overrides Function Validate() As DTSValidationStatus   
    ' TODO: Implement component validation.  
   End Function   

   Public Overrides Sub ProcessInput(ByVal inputID As Integer, ByVal buffer As PipelineBuffer)   
    ' TODO: For transformation and destination components,  
    '  implement code to process incoming rows.  
   End Sub   
 End Class   
End Namespace  

注釈

このクラスから継承して、独自のデータフローコンポーネントを作成してください。 このクラスは必要なコンポーネントインターフェースである IDTSDesigntimeComponent100 および IDTSRuntimeComponent100を実装します。 これらのメソッドのベースクラス実装をオーバーライドして、コンポーネントの機能を提供します。 PipelineComponent コンポーネントインターフェースの手法に加えて、コンポーネントの開発を支援するためのヘルパーメソッドも提供しています。

コンストラクター

名前 説明
PipelineComponent()

PipelineComponent クラスの新しいインスタンスを初期化します。

フィールド

名前 説明
s_STOCKPROPNAME_COMPFLAGS

データフローコンポーネントのComparisonFlagsプロパティの名前を含みます。

s_STOCKPROPNAME_DELOUTPUTONPATHDETACHED

データフローコンポーネントのDeleteOutputOnPathDetachedプロパティの名前を含みます。

s_STOCKPROPNAME_EXCLGROUP

データフローコンポーネントのExclusionGroupプロパティの名前を含みます。

s_STOCKPROPNAME_HASSIDEEFFECTS

データフローコンポーネントのHasSideEffectsプロパティの名前を含みます。

s_STOCKPROPNAME_ISDISTRIBUTABLE

データフローコンポーネントのIsDistributableプロパティの名前を含みます。

s_STOCKPROPNAME_ISERROROUT

データフローコンポーネントのIsErrorOutプロパティ名を含みます。

s_STOCKPROPNAME_ISSORTED

データフローコンポーネントのIsSortedプロパティの名前を含みます。

s_STOCKPROPNAME_REFMETADATAID

データフローコンポーネントのReferenceMetaDataIDプロパティの名前を含みます。

s_STOCKPROPNAME_SORTKEYPOS

データフローコンポーネントのSortKeyPositionプロパティの名前を含みます。

s_STOCKPROPNAME_SYNCINPUTID

データフローコンポーネントのSynchronousInputIDプロパティ名を含みます。

プロパティ

名前 説明
BufferManager

パイプラインコンポーネントの IDTSBufferManager100 を手に入れます。

ComponentMetaData

コンポーネントの IDTSComponentMetaData100 を得ます。

ErrorSupport

ネイティブコードで書かれたIntegration Servicesコンポーネントから返されるHRESULTに基づいて、コンポーネントがエラーや警告、その他の情報イベントを報告できる ErrorSupport オブジェクトを返します。

EventInfos

PipelineComponentオブジェクトのIDTSEventInfos100コレクションを取得します。

LogEntryInfos

コンポーネントが登録したログイベントの IDTSLogEntryInfos100 コレクションを取得します。

ReferenceTracker

コンポーネントに関連付けられた IDTSObjectReferenceTracker100 を取得します。

VariableDispenser

データフローの要素の IDTSVariableDispenser100 を取得します。

メソッド

名前 説明
AcquireConnections(Object)

接続マネージャーへの接続を確立します。

AddErrorOutput(String, Int32, Int32)

IDTSOutput100オブジェクトを追加し、IsErrorOutプロパティをtrueに設定してエラー出力としてマークします。

BufferTypeToDataRecordType(DataType)

統合サービスのデータ型に基づく管理データ型を返します。

Cleanup()

リソースを解放し、コンポーネントの実行を完了させます。

ConvertBufferDataTypeToFitManaged(DataType, Boolean)

マネージドコードから適切な統合サービス DataType を取得します。

DataRecordTypeToBufferType(Type)

管理型に対応する統合サービス DataType を取得します。

DeleteExternalMetadataColumn(Int32, Int32)

指定されたインデックスの外部メタデータ列を外部メタデータ列のコレクションから削除します。

DeleteInput(Int32)

IDTSInput100コレクションからIDTSInputCollection100オブジェクトを削除します。

DeleteOutput(Int32)

IDTSOutput100コレクションからIDTSOutputCollection100オブジェクトを削除します。

DeleteOutputColumn(Int32, Int32)

IDTSOutputColumn100コレクションからIDTSOutputColumnCollection100オブジェクトを削除します。

DescribeRedirectedErrorCode(Int32)

出力バッファに追加された PipelineBuffer 行のエラーコード情報を提供します。

GetDependentInputs(Int32)

追加データを待っている入力の入力IDの集合を返し、指定された入力をブロックしています。

GetErrorOutputInfo(Int32, Int32)

コンポーネントのエラー出力のインデックスとIDを返します。

idxOfBufferType(DataType)

バッファインデックスの種類を指定します。

idxOfDataRecordType(Type)

データレコードインデックスの種類を指定します。

Initialize()

派生クラスで上書きされると、カスタムデータフローコンポーネントの新しいインスタンスが初期化されます。

InsertExternalMetadataColumnAt(Int32, Int32, String, String)

指定されたインデックスの外部メタデータ列の集合に新しい外部メタデータ列を挿入します。

InsertInput(DTSInsertPlacement, Int32)

IDTSInput100IDTSInputCollection100 オブジェクトを追加します。

InsertOutput(DTSInsertPlacement, Int32)

新しい IDTSOutput100 オブジェクトを追加します

InsertOutputColumnAt(Int32, Int32, String, String)

新しい IDTSOutputColumn100 オブジェクトを作成し、 IDTSOutputColumnCollection100に挿入します。

IsCompatibleNumericTypes(DataType, DataType)

2つの数値データ型が互換性があり、一方の型からもう一方への変換を支持できるかどうかを判定します。

IsInputReady(Int32[], Boolean[])

コンポーネントに接続された入力のうち、どの入力がさらなるデータを待っているか、またどの入力が処理に十分なデータを持っていてブロックされているかを判定します。

MapInputColumn(Int32, Int32, Int32)

入力列と対応する外部メタデータ列との関係を確立します。

MapOutputColumn(Int32, Int32, Int32, Boolean)

出力カラムと対応する外部メタデータカラムとの関係を確立します。

OnDeletingInputColumn(Int32, Int32)

IDTSInputColumnCollection100からIDTSInputColumn100オブジェクトを削除します。

OnInputPathAttached(Int32)

IDTSPath100インターフェースを通じてIDTSInput100オブジェクトがコンポーネントに接続されたときに呼び出されます。

OnInputPathDetached(Int32)

IDTSPath100インターフェースを通じてIDTSInput100オブジェクトがコンポーネントから切断されたときに呼び出されます。

OnOutputPathAttached(Int32)

コンポーネントの IDTSOutput100 オブジェクトが下流コンポーネントに付加されたときに呼び出されます。

PerformDowngrade(Int32, DTSTargetServerVersion)

デフォルトでは、PerformDowngradeはComponentDowngradeFailedExceptionを投げるべきではありません。なぜなら、実行時はtargetServerVersionによってのみこのメソッドを呼び出すかどうかを判断できるからです。コンポーネントバージョンは、2つのSSISバージョン間でコンポーネントバージョンが変更されたかどうか分からないため、バージョンをチェックできませんが、PerformUpgradeメソッドは、パッケージxml内のコンポーネントバージョンが現在のコンポーネントバージョンより小さいかどうかを呼び出し前にチェックします。

PerformUpgrade(Int32)

コンポーネントメタデータをローカルコンピュータにインストールされたバージョンにアップグレードします。

PostExecute()

コンポーネント実行の終わりに呼び出し、 Cleanup()前でした。

PreExecute()

PrepareForExecute()の後、PrimeOutput(Int32, Int32[], PipelineBuffer[])ProcessInput(Int32, PipelineBuffer)の前に呼ばれました。

PrepareForExecute()

PreExecute()前に電話した。

PrimeOutput(Int32, Int32[], PipelineBuffer[])

非同期出力を持つソースコンポーネントおよび変換コンポーネントを実行時に呼び出し、これらのコンポーネントが出力バッファに行を追加できるようにします。

ProcessInput(Int32, PipelineBuffer)

上流コンポーネントからの PipelineBuffer が利用可能な実行時に呼び出され、そのコンポーネントが着信行を処理するために使われます。

ProvideComponentProperties()

コンポーネントがデータフロータスクに初めて追加された際に呼び出し、そのコンポーネントの ComponentMetaData を初期化します。

RegisterEvents()

カスタムデータフローコンポーネントを開発する際には、このメソッドをオーバーライドしてカスタムイベントを作成します。

RegisterLogEntries()

コンポーネントが記録するイベントを登録します。

ReinitializeMetaData()

検証中に発見されたエラーを修正し、設計時に部品が VS_NEEDSNEWMETADATA を戻す原因となります。

ReleaseConnections()

AcquireConnections(Object)中に確立された接続を解放します。 設計時と実行時に呼び出しました。

RemoveAllInputsOutputsAndCustomProperties()

コンポーネントから各 IDTSInput100IDTSOutput100 オブジェクトを削除します。

SetComponentProperty(String, Object)

コンポーネントの IDTSCustomProperty100 に値を割り当てます。

SetExternalMetadataColumnDataTypeProperties(Int32, Int32, DataType, Int32, Int32, Int32, Int32)

指定された外部メタデータ列のデータ型プロパティを設定します。

SetExternalMetadataColumnProperty(Int32, Int32, String, Object)

外部メタデータ列の個別プロパティを設定します。

SetInputColumnProperty(Int32, Int32, String, Object)

IDTSCustomProperty100オブジェクトのIDTSInputColumn100に値を割り当てます。

SetInputProperty(Int32, String, Object)

IDTSCustomProperty100オブジェクトのIDTSInput100に値を割り当てます。

SetOutputColumnDataTypeProperties(Int32, Int32, DataType, Int32, Int32, Int32, Int32)

IDTSOutputColumn100オブジェクトのデータ型プロパティを設定します。

SetOutputColumnProperty(Int32, Int32, String, Object)

IDTSCustomProperty100オブジェクトのIDTSOutputColumn100値を設定します。

SetOutputProperty(Int32, String, Object)

IDTSOutput100オブジェクトのIDTSCustomProperty100値を設定します。

SetUsageType(Int32, IDTSVirtualInput100, Int32, DTSUsageType)

コンポーネントのIDTSInputColumn100IDTSInputColumnCollection100オブジェクトを作成し、列のUsageTypeプロパティを設定します。

Validate()

コンポーネントが正しく設定されていることを確認します。

適用対象