Share via


XMLTask.Validate Method

Verifies that the component is properly configured.

Namespace:  Microsoft.SqlServer.Dts.Tasks.XMLTask
Assembly:  Microsoft.SqlServer.XMLTask (in Microsoft.SqlServer.XMLTask.dll)

Syntax

'Declaration
Public Overrides Function Validate ( _
    connections As Connections, _
    variableDispenser As VariableDispenser, _
    events As IDTSComponentEvents, _
    log As IDTSLogging _
) As DTSExecResult
'Usage
Dim instance As XMLTask
Dim connections As Connections
Dim variableDispenser As VariableDispenser
Dim events As IDTSComponentEvents
Dim log As IDTSLogging
Dim returnValue As DTSExecResult

returnValue = instance.Validate(connections, _
    variableDispenser, events, log)
public override DTSExecResult Validate(
    Connections connections,
    VariableDispenser variableDispenser,
    IDTSComponentEvents events,
    IDTSLogging log
)
public:
virtual DTSExecResult Validate(
    Connections^ connections, 
    VariableDispenser^ variableDispenser, 
    IDTSComponentEvents^ events, 
    IDTSLogging^ log
) override
abstract Validate : 
        connections:Connections * 
        variableDispenser:VariableDispenser * 
        events:IDTSComponentEvents * 
        log:IDTSLogging -> DTSExecResult 
override Validate : 
        connections:Connections * 
        variableDispenser:VariableDispenser * 
        events:IDTSComponentEvents * 
        log:IDTSLogging -> DTSExecResult 
public override function Validate(
    connections : Connections, 
    variableDispenser : VariableDispenser, 
    events : IDTSComponentEvents, 
    log : IDTSLogging
) : DTSExecResult

Parameters

Return Value

Type: Microsoft.SqlServer.Dts.Runtime.DTSExecResult
A value from the DTSExecResult enumeration.

Remarks

This method is available to the XMLTask, regardless of the OperationType value.

The Validate method reviews properties and settings for inaccuracies or incorrect settings. The method does not touch data, or connect to data sources to validate connections. However, it ensures that required fields are populated and contain appropriate values. The fields that are validated differ depending on what object is being validated.

The primary use of Validate is when writing a custom task. The Validate method is called by the SSIS Designer when a task is dropped onto the design surface and again, potentially multiple times, when properties are being set. However, in code, the Validate method on individual objects is not commonly used, as it is recommended that you call the Validate method on the Package when you need to validate objects. However, the method is available on individual objects should you find a unique circumstance where it is needed.

The Validate method is overridden in custom tasks, either for validation of the object when used in the SSIS Designer, or when called by code. For more information on writing the Validate method for a custom task, see Coding a Custom Task.

Examples

The following code example creates an XMLTask as part of a package. After the task is created, it sets several properties, and then calls the Validate method of the Package.

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SqlServer.Dts.Runtime;
using Microsoft.SqlServer.Dts.Tasks.XMLTask;

namespace XMLTask_API
{
        class Program
        {
        static void Main(string[] args)
        
            // Set up the objects and tasks.
            Package pkg = new Package();
            Executable exec1 = pkg.Executables.Add("STOCK:XMLTask");
            TaskHost th = exec1 as TaskHost;
            XMLTask myTask = th.InnerObject as XMLTask;

            // Create a FILE connection manager to books.xml.
            ConnectionManager connMgr = pkg.Connections.Add("FILE");
            connMgr.Name = "XMLConnectionManager";
            // The file, Books.xml, is stored on the C:\ drive.
            connMgr.ConnectionString = @"c:\books.xml";

            // Set the XMLTask properties.
            myTask.OperationType = DTSXMLOperation.Validate;
            myTask.SourceType = DTSXMLSourceType.FileConnection;
            myTask.Source = connMgr.Name;
            
            DTSExecResult valResults = pkg.Validate(pkg.Connections, pkg.Variables, null, null);
            Console.WriteLine("RESULTS: {0}", valResults);
        }
    }
}

Sample output:

RESULTS: Success