IDTSDesigntimeComponent100.Validate 方法

定義

public:
 Microsoft::SqlServer::Dts::Pipeline::Wrapper::Sql2012::DTSValidationStatus Validate();
[System.Runtime.InteropServices.DispId(29)]
public Microsoft.SqlServer.Dts.Pipeline.Wrapper.Sql2012.DTSValidationStatus Validate();
[<System.Runtime.InteropServices.DispId(29)>]
abstract member Validate : unit -> Microsoft.SqlServer.Dts.Pipeline.Wrapper.Sql2012.DTSValidationStatus
Public Function Validate () As DTSValidationStatus

傳回

DTSValidationStatus 列舉中的一個值,表示元件的狀態。

屬性

備註

Validate 方法由元件開發人員實作,用以驗證元件是否正確配置。 在套件設計過程中會反覆呼叫,並在元件執行前呼叫一次。 元件不應在驗證期間修改其 IDTSComponentMetaData100。

每個元件對成功驗證的要求不同,但以下列出一些常見且應被驗證的項目。

  • 確認元件是否擁有預期數量的 IDTSInput100 和 IDTSOutput100 物件。

  • 請確認任何 IDTSCustomProperty100 物件是否仍然存在且包含正確的值。

  • 請確認每個 IDTSInputColumn100 物件在其 IDTSInputColumnCollection100 中是否參考上游元件中現有的 IDTSOutputColumn100 物件。

  • 如果元件使用連線,請確認 IDTSRuntimeConnection100 已被指定,且 ConnectionManager 是否存在於套件中。

元件應在驗證失敗時向使用者提供回饋。 回饋透過 FireError 與 FireWarning 方法,以及 DTSValidationStatus 回傳值提供。 FireError 與 FireWarning 方法的呼叫會顯示在 SQL Server Data Tools(SSDT)的任務清單視窗中,並應為使用者提供驗證失敗的指引。 在 DTSValidationStatus 列舉的四個值中,只有 VS_ISVALID 表示驗證成功。 另外三個數值代表不同的故障程度。 下表說明列舉中的故障值,以及 SSIS Designer 如何解讀這些值。

狀態 描述
VS_ISBROKEN 表示元件設定不正確。 使用者必須對元件元資料進行修改以解決這些問題。
VS_NEEDSNEWMETADATA 表示元件在實作 ReinitializeMetaData 方法時,可以修正驗證錯誤。 當列舉值VS_NEEDSNEWMETADATA時,SSIS 設計器會提示使用者該元件可以自行修復。 接著設計者會呼叫 ReinitializeMetaData 方法。
VS_ISCORRUPT 表示 ComponentMetaData 已損壞,無法透過呼叫 ReinitializeMetaData 方法或編輯元件來修復。

當資料流任務的 DelayValidation 屬性為 時,設計時對 Validate 方法的呼叫將被省去,改為在元件執行前呼叫該方法。

適用於