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 物件都繼續存在,而且包含正確的值。
確認其IDTSInputColumnCollection100中的每個IDTSInputColumn100物件都會參考上游元件中現有的IDTSOutputColumn100物件。
如果元件使用連線,請確認已指定 IDTSRuntimeConnection100 ,而且套件中有 ConnectionManager 存在。
當驗證失敗時,元件應該會向使用者提供意見反應。 意見反應是透過 FireError 和 FireWarning 方法以及 DTSValidationStatus 傳回值提供。 FireError和 FireWarning方法的呼叫會顯示在 SQL Server Data Tools (SSDT) 的 工作清單 視窗中,並應提供驗證失敗的使用者指引。 在 DTSValidationStatus 列舉的四個值中,只有 VS_ISVALID 表示驗證成功。 其他三個值表示不同層級的失敗。 下表描述列舉中的失敗值,以及它們如何由 SSIS 設計師來解讀。
| 狀態 | 描述 |
|---|---|
| VS_ISBROKEN | 指出元件的設定不正確。 使用者必須對 ComponentMetaData 進行變更,才能解決問題。 |
| VS_NEEDSNEWMETADATA | 指出驗證錯誤可由元件在其 ReinitializeMetaData 方法的實中修正。 當 VS_NEEDSNEWMETADATA列舉值時,SSIS 設計工具會提示使用者元件可以自行修復。 然後,設計工具會呼叫 ReinitializeMetaData 方法。 |
| VS_ISCORRUPT | 指出 ComponentMetaData 已損毀,而且無法藉由呼叫 ReinitializeMetaData 方法或透過編輯元件來修復。 |
當資料流程工作的 DelayValidation 屬性為 true 時,會消除對 Validate 方法的設計階段呼叫,並改為在元件執行之前呼叫方法。