次の方法で共有


PipelineComponent.Validate メソッド

定義

重要

この API は CLS 準拠ではありません。

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

public:
 virtual Microsoft::SqlServer::Dts::Pipeline::Wrapper::DTSValidationStatus Validate();
[System.CLSCompliant(false)]
public virtual Microsoft.SqlServer.Dts.Pipeline.Wrapper.DTSValidationStatus Validate ();
[<System.CLSCompliant(false)>]
abstract member Validate : unit -> Microsoft.SqlServer.Dts.Pipeline.Wrapper.DTSValidationStatus
override this.Validate : unit -> Microsoft.SqlServer.Dts.Pipeline.Wrapper.DTSValidationStatus
Public Overridable Function Validate () As DTSValidationStatus

戻り値

コンポーネントの状態を示す DTSValidationStatus 列挙の値です。

属性

注釈

Validate メソッドは、コンポーネントが正しく構成されていることを確認するために、コンポーネント開発者によってオーバーライドされます。 パッケージのデザイン時、およびコンポーネントの実行前に一度、繰り返して呼び出されます。 コンポーネントは、ComponentMetaData の間は Validate を変更しません。

Validate の基本クラス実装では、IDTSInputColumn100 プロパティが上流コンポーネントの LineageIDLineageID に一致しない IDTSOutputColumn100 オブジェクトの有無を確認します。 コンポーネントを開発する場合は、Validate の追加チェックを行うことにより、基本クラスの ComponentMetaData 機能を拡張します。 各コンポーネントで検証が正常終了するための要件は異なりますが、次の一覧に、検証の必要がある一般的な項目のいくつかを示します。

  • コンポーネントが予期された数の IDTSInput100 オブジェクトおよび IDTSOutput100 オブジェクトを持っていることを確認します。

  • 任意の IDTSCustomProperty100 オブジェクトが引き続き存在し、正しい値を含むことを確認します。

  • コンポーネントが接続を使用する場合、コンポーネントは IDTSRuntimeConnection100 が指定されていること、および ConnectionManager がパッケージに存在することを確認する必要があります。

コンポーネントは、検証に失敗するとユーザーにフィードバックを提供する必要があります。 フィードバックは、FireError メソッドと FireWarning メソッドを介して提供され、DTSValidationStatus 戻り値で示されます。 SQL Server Data Tools (SSDT) の [エラー一覧] ウィンドウに表示される呼び出し。検証エラーに関するガイダンスをユーザーに提供する必要があります。FireErrorFireWarning DTSValidationStatus 列挙の 4 つの値のうち、VS_ISVALID だけが検証の正常終了を示します。 他の 3 つの値は、さまざまなレベルの失敗を示します。 次の表に、列挙内の失敗の値と、それらが SSIS デザイナーでどのように解釈されるかを示します。

Status 説明
VS_ISBROKEN コンポーネントは正しく構成されていないが、ユーザーが ComponentMetaData を変更することにより問題が解決することを示します。
VS_NEEDSNEWMETADATA 検証エラーが ReinitializeMetaData メソッドの実装において、コンポーネントによって修正可能であることを示します。 VS_NEEDSNEWMETADATA が呼び出され、続いて ReinitializeMetaData が呼び出されると、SSIS デザイナーは、コンポーネントが自身を修復できることをユーザーに示します。
VS_ISCORRUPT 破損しており、コンポーネントの ComponentMetaData 呼び出し ReinitializeMetaData または編集によって修復できないことを示します。

データ フロー タスクの DelayValidation プロパティが true である場合、デザイン時の Validate の呼び出しは除去され、コンポーネントの実行前にこのメソッドが呼び出されます。

詳細については、「データ フロー コンポーネントの検証」を参照してください。

適用対象