PipelineComponent.Validate Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Important
This API is not CLS-compliant.
Verifies that the component is correctly configured.
public:
virtual Microsoft::SqlServer::Dts::Pipeline::Wrapper::DTSValidationStatus Validate();
[System.CLSCompliant(false)]
public virtual Microsoft.SqlServer.Dts.Pipeline.Wrapper.DTSValidationStatus Validate ();
[<System.CLSCompliant(false)>]
abstract member Validate : unit -> Microsoft.SqlServer.Dts.Pipeline.Wrapper.DTSValidationStatus
override this.Validate : unit -> Microsoft.SqlServer.Dts.Pipeline.Wrapper.DTSValidationStatus
Public Overridable Function Validate () As DTSValidationStatus
Returns
A value from the DTSValidationStatus enumeration that indicates the status of the component.
- Attributes
Remarks
The Validate method is overridden by component developers to verify that the component is correctly configured. It is called repeatedly during package design, and one time before execution of the component. Components should not modify its ComponentMetaData during Validate.
The base class implementation of Validate checks for the existence of IDTSInputColumn100 objects whose LineageID property does not match the LineageID of an IDTSOutputColumn100 of an upstream component. Component developers should extend the base class Validate functionality by performing additional checks on the ComponentMetaData. Each component has different requirements for successful validation, but the following list provides some of the common items that should be validated.
Verify that the component has the expected number of IDTSInput100 and IDTSOutput100 objects.
Verify that any IDTSCustomProperty100 objects continue to exist, and contain the correct values.
If the component uses a connection, it should verify that the IDTSRuntimeConnection100 is specified and that the ConnectionManager exists in the package.
Components should provide feedback to users when validation fails. Feedback is provided through the FireError and FireWarning methods and by the DTSValidationStatus return value. Calls to FireError and FireWarning are displayed in the Error List window in SQL Server Data Tools (SSDT), and should provide users guidance on the validation failure. Of the four values in the DTSValidationStatus enumeration, only VS_ISVALID indicates successful validation. The other three values indicate different levels of failure. The following table describes the failure values in the enumeration and how they are interpreted by the SSIS Designer.
Status | Description |
---|---|
VS_ISBROKEN | Indicates that the component is not configured incorrectly, but changes by the user to the ComponentMetaData will resolve the problems. |
VS_NEEDSNEWMETADATA | Indicates that the validation errors can be fixed by the component in its implementation of the ReinitializeMetaData method. SSIS Designer will prompt users that the component can repair itself when VS_NEEDSNEWMETADATA, and subsequently ReinitializeMetaData is called. |
VS_ISCORRUPT | Indicates that the ComponentMetaData is corrupted and cannot be repaired by a call to ReinitializeMetaData or by edits to the component. |
When the DelayValidation property of the data flow task is true
, the design time calls to Validate are eliminated and the method is called before component execution.
For more information, see Validating a Data Flow Component.