IDTSComponentMetaData100.ValidateExternalMetadata Property

Gets or sets a value that controls whether a component validates its column metadata against its external data source at design time.

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


Property ValidateExternalMetadata As Boolean
Dim instance As IDTSComponentMetaData100
Dim value As Boolean

value = instance.ValidateExternalMetadata

instance.ValidateExternalMetadata = value
bool ValidateExternalMetadata { get; set; }
property bool ValidateExternalMetadata {
    bool get ();
    void set (bool value);
abstract ValidateExternalMetadata : bool with get, set
function get ValidateExternalMetadata () : boolean
function set ValidateExternalMetadata (value : boolean)

Property Value

Type: System.Boolean
true if the component should validate its column metadata against the external data source during design time; otherwise, false. The default is true.


When this property is true, the component connects to its external data source during design time and validates the columns in its input or output collections against the columns at the external data source.

When set to false, the component does not perform this "connected" validation, but validates its input and output columns against the columns in the IDTSExternalMetadataColumnCollection100 collection, if the developer has implemented this functionality.


When running a package with DTC transactions (TransactionOption property = required) and validating external metadata in data flow components (ValidateExternalMetadata property = true), the package can hang under the following conditions: when other tasks already exist in the DTC transactions before the data flow is executed, and Table or view or Table name or view name variable is used as the data access method for an OLE DB Destination. In this scenario, the validation process will be blocked by other tasks which are already running. This is because connections used for the validation are never enlisted in the DTC transactions. This is by design. To avoid this situation, set the data flow component ValidateExternalMetadata property to false.