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设计器如何解释这些值。

地位 Description
VS_ISBROKEN 表示该组件配置不正确。 用户必须对组件元数据进行修改以解决这些问题。
VS_NEEDSNEWMETADATA 表示组件在实现ReinitializeMetaData方法时可以修复验证错误。 当枚举值VS_NEEDSNEWMETADATA时,SSIS设计器会提示组件可以自我修复。 然后设计者会调用 ReinitializeMetaData 方法。
VS_ISCORRUPT 表示组件元数据损坏,无法通过调用 ReinitializeMetaData 方法或编辑组件来修复。

当数据流任务的 DelayValidation 属性为 时,设计时调用 Validate 方法的调用被取消,而是在组件执行前调用该方法。

适用于