Export (0) Print
Expand All

DtsEventHandler.Properties Property

Returns a DtsProperties collection. This property is read-only.

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

public DtsProperties Properties { get; }



A DtsProperties collection is a collection of DtsProperty objects.

The following code example creates a DtsEventHandler for the OnError event in the package. This DtsEventHandler container contains two executables and establishes a precedence constraint between them. The code example displays retrieves the DtsProperties collection from the DtsEventHandler container, and displays names and property types.

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

namespace Microsoft.SqlServer.SSIS.Samples
    class Program
        static void Main(string[] args)
            Package pkg = new Package();
            // Set up a DtsEventHandler for the OnError event of the package.
            DtsEventHandler dtsEH = (DtsEventHandler)pkg.EventHandlers.Add("OnError");

            // Show the name and type of the properties in DtsEventHandler
            // using the Properties collection.
            DtsProperties props = dtsEH.Properties;
            String name;
            TypeCode propType;
            foreach (DtsProperty prop in props)
                propType = prop.Type;
                name = prop.Name;
                Console.WriteLine("Name {0}, Type {1}", name, propType);

            // When an OnError Event occurs, the Executables collection contains
            // the items to run. For this example, there will be a SendMailtTask
            // and a BulkInsertTask with a precedence constraint between them.
            Executable dtsEH1 = dtsEH.Executables.Add("STOCK:SendMailTask");
            TaskHost th = (TaskHost)dtsEH1;
            SendMailTask smTask = (SendMailTask)th.InnerObject;
            smTask.Subject = "Send Mail task";
            // Add a second executable to the DtsEventHandler.
            Executable dtsEH2 = dtsEH.Executables.Add("STOCK:BulkInsertTask");
            TaskHost th2 = (TaskHost)dtsEH2;

            // Add a precedence constraint between the two tasks.
            PrecedenceConstraint pc = dtsEH.PrecedenceConstraints.Add(dtsEH1, dtsEH2);
            pc.Value = DTSExecResult.Completion;

            // Review the number of constraints in the DtsEventHandler collection.
            PrecedenceConstraints pcDTSEH = dtsEH.PrecedenceConstraints;
            Console.WriteLine("Number of precedence constraints in DtsEventHandler: {0}", dtsEH.PrecedenceConstraints.Count);

            // Review the number of executables in the DtsEventHandler collection.
            Console.WriteLine("Number of executables in DtsEventHandler: {0}", dtsEH.Executables.Count);

            // Remove the first executable in the DtsEventHandler collection.
            Console.WriteLine("New number of exeutables in DtsEventHandler: {0}", dtsEH.Executables.Count);

Sample Output:

Name CreationName, Type String

Name DelayValidation, Type Boolean

Name Description, Type String

Name Disable, Type Boolean

Name Executables, Type Object

Name ExecutionDuration, Type Int32

Name ExecutionResult, Type Object

Name ExecutionStatus, Type Object

Name Variables, Type Object

Number of precedence constraints in DtsEventHandler: 1

Number of executables in DtsEventHandler: 2

New number of exeutables in DtsEventHandler: 1

Community Additions

© 2014 Microsoft