다음을 통해 공유


DtsEventHandler.Executables 속성

정의

이벤트가 발생할 때 실행할 이 컨테이너의 실행 파일을 포함하는 Executables 컬렉션을 반환합니다. 이 속성은 읽기 전용입니다.

public:
 property Microsoft::SqlServer::Dts::Runtime::Executables ^ Executables { Microsoft::SqlServer::Dts::Runtime::Executables ^ get(); };
public Microsoft.SqlServer.Dts.Runtime.Executables Executables { get; }
member this.Executables : Microsoft.SqlServer.Dts.Runtime.Executables
Public ReadOnly Property Executables As Executables

속성 값

Executables 컬렉션입니다.

구현

예제

다음 코드 예제에서는 패키지에서 OnError 이벤트에 대 한 DtsEventHandler 만듭니다. 이 DtsEventHandler 컨테이너에는 두 개의 실행 파일이 포함되어 있으며 둘 사이에 우선 순위 제약 조건이 설정됩니다. 코드 예제에서는 컨테이너의 실행 파일 수를 표시한 다음, 실행 파일을 제거한 다음 개수를 다시 표시합니다.

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.  
            dtsEH.Executables.Remove(0);  
            Console.WriteLine("New number of exeutables in DtsEventHandler: {0}", dtsEH.Executables.Count);  
        }  
    }  
}  
Imports System  
Imports System.Collections.Generic  
Imports System.Text  
Imports Microsoft.SqlServer.Dts.Runtime  
Imports Microsoft.SqlServer.Dts.Tasks.SendMailTask  
Imports Microsoft.SqlServer.Dts.Tasks.BulkInsertTask  

Namespace Microsoft.SqlServer.SSIS.Samples  
    Class Program  
        Shared  Sub Main(ByVal args() As String)  
            Dim pkg As Package =  New Package()   
            ' Set up a DtsEventHandler for the OnError event of the package.  
            Dim dtsEH As DtsEventHandler = CType(pkg.EventHandlers.Add("OnError"), DtsEventHandler)  

            ' Show the name and type of the properties in DtsEventHandler  
            ' using the Properties collection.  
            Dim props As DtsProperties =  dtsEH.Properties   
            Dim name As String  
            Dim propType As TypeCode  
            Dim prop As DtsProperty  
            For Each prop In props  
                propType = prop.Type  
                name = prop.Name  
                Console.WriteLine("Name {0}, Type {1}", name, propType)  
            Next  

            ' 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.  
            Dim dtsEH1 As Executable =  dtsEH.Executables.Add("STOCK:SendMailTask")   
            Dim th As TaskHost = CType(dtsEH1, TaskHost)  
            Dim smTask As SendMailTask = CType(th.InnerObject, SendMailTask)  
            smTask.Subject = "Send Mail task"  

            ' Add a second executable to the DtsEventHandler.  
            Dim dtsEH2 As Executable =  dtsEH.Executables.Add("STOCK:BulkInsertTask")   
            Dim th2 As TaskHost = CType(dtsEH2, TaskHost)  

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

            ' Review the number of constraints in the DtsEventHandler collection.  
            Dim pcDTSEH As PrecedenceConstraints =  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.  
            dtsEH.Executables.Remove(0)  
            Console.WriteLine("New number of exeutables in DtsEventHandler: {0}", dtsEH.Executables.Count)  
        End Sub  
    End Class  
End Namespace  

샘플 출력:

Name CreationName, 형식 문자열

Name DelayValidation, Type Boolean

이름 설명, 형식 문자열

이름 사용 안 함, 부울 입력

이름 실행 파일, 형식 개체

Name ExecutionDuration, Type Int32

Name ExecutionResult, Type 개체

Name ExecutionStatus, Type 개체

이름 변수, 형식 개체

DtsEventHandler의 선행 제약 조건 수: 1

DtsEventHandler의 실행 파일 수: 2

DtsEventHandler의 새로운 exeutable 수: 1

설명

Executables 컬렉션은 개체의 Executable 컬렉션입니다.

적용 대상