TaskHost.Properties Property


Gets a DtsProperties collection that contains the properties associated with the task.

Namespace:   Microsoft.SqlServer.Dts.Runtime
Assembly:  Microsoft.SqlServer.ManagedDTS (in Microsoft.SqlServer.ManagedDTS.dll)

public DtsProperties Properties { get; }

The following code example creates an XMLTask. Using the Properties collection, the properties of the task are set. Using the Properties collection is the recommended way of setting properties on any task. It is not recommended that the task be cast to its equivalent class and properties set directly.

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;
                        // You can cast the InnerObject to the specific task,
                        // but it is advised that you work with tasks through
                        //  the TaskHost and its Properties.
                        // XMLTask myTask = th.InnerObject as XMLTask;

                        // Create a variable and a FILE connection manager to books.xml.
                        Variable resultVar = pkg.Variables.Add("resultVariable", false, "", "Variable for the result");
                        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 using the TaskHost.Properties.
                        // The first property to set is the OperationType. Depending on the
                        // OperationType, different properties are valid.
                        // The operation type in this example is VALIDATE.
                        th.Properties["OperationType"].SetValue(th, DTSXMLOperation.Validate);
                        th.Properties["SourceType"].SetValue(th, DTSXMLSourceType.FileConnection);
                        th.Properties["Source"].SetValue(th, connMgr.Name);
                        th.Properties["OverwriteDestination"].SetValue(th, true);
                        th.Properties["SaveOperationResult"].SetValue(th, true);
                        th.Properties["DestinationType"].SetValue(th, DTSXMLSaveResultTo.Variable);
                        th.Properties["Destination"].SetValue(th, resultVar.Name);
                        th.Properties["SecondOperandType"].SetValue(th, DTSXMLSourceType.DirectInput);
                        th.Properties["SecondOperand"].SetValue(th, "<x></x>");
                        th.Properties["ValidationType"].SetValue(th, DTSXMLValidationType.DTD);
                        th.Properties["FailOnValidationFaile"].SetValue(th, true);
                        DTSExecResult valResults = pkg.Validate(pkg.Connections, pkg.Variables, null, null);
                        Console.WriteLine("RESULTS: {0}", valResults);
Return to top