IDTSDesigntimeComponent100.Validate 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
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 方法的呼叫將被省去,改為在元件執行前呼叫該方法。