次の方法で共有


PipelineComponent.Validate メソッド

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

この API は、CLS に準拠していません。 

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

構文

'宣言
<CLSCompliantAttribute(False)> _
Public Overridable Function Validate As DTSValidationStatus
'使用
Dim instance As PipelineComponent 
Dim returnValue As DTSValidationStatus 

returnValue = instance.Validate()
[CLSCompliantAttribute(false)]
public virtual DTSValidationStatus Validate()
[CLSCompliantAttribute(false)]
public:
virtual DTSValidationStatus Validate()
[<CLSCompliantAttribute(false)>]
abstract Validate : unit -> DTSValidationStatus 
[<CLSCompliantAttribute(false)>]
override Validate : unit -> DTSValidationStatus
public function Validate() : DTSValidationStatus

戻り値

型: Microsoft.SqlServer.Dts.Pipeline.Wrapper.DTSValidationStatus
コンポーネントの状態を示す DTSValidationStatus 列挙の値です。

説明

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

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

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

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

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

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

状態

説明

VS_ISBROKEN

コンポーネントは正しく構成されていないが、ユーザーが ComponentMetaData を変更することにより問題が解決することを示します。

VS_NEEDSNEWMETADATA

検証エラーが ReinitializeMetaData メソッドの実装において、コンポーネントによって修正可能であることを示します。 VS_NEEDSNEWMETADATA が呼び出され、続いて ReinitializeMetaData が呼び出されると、SSIS デザイナーは、コンポーネントが自身を修復できることをユーザーに示します。

VS_ISCORRUPT

ComponentMetaData が壊れていて、ReinitializeMetaData の呼び出しまたはコンポーネントの編集によって修復できないことを示します。

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

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

関連項目

参照

PipelineComponent クラス

Microsoft.SqlServer.Dts.Pipeline 名前空間