Share via

PipelineComponent.Validate Method

Verifies that the component is correctly configured.

This API is not CLS-compliant. 

Namespace:  Microsoft.SqlServer.Dts.Pipeline
Assembly:  Microsoft.SqlServer.PipelineHost (in Microsoft.SqlServer.PipelineHost.dll)


<CLSCompliantAttribute(False)> _
Public Overridable Function Validate As DTSValidationStatus
Dim instance As PipelineComponent 
Dim returnValue As DTSValidationStatus 

returnValue = instance.Validate()
public virtual DTSValidationStatus Validate()
virtual DTSValidationStatus Validate()
abstract Validate : unit -> DTSValidationStatus 
override Validate : unit -> DTSValidationStatus
public function Validate() : DTSValidationStatus

Return Value

Type: Microsoft.SqlServer.Dts.Pipeline.Wrapper.DTSValidationStatus
A value from the DTSValidationStatus enumeration that indicates the status of the component.


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.

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.




Indicates that the component is not configured incorrectly, but changes by the user to the ComponentMetaData will resolve the problems.


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.


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.

See Also


PipelineComponent Class

Microsoft.SqlServer.Dts.Pipeline Namespace