DtsEventHandlers.Add(String) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Agrega un nuevo evento a la colección DtsEventHandlers.
public:
System::Object ^ Add(System::String ^ eventName);
public object Add (string eventName);
member this.Add : string -> obj
Public Function Add (eventName As String) As Object
Parámetros
- eventName
- String
El nombre del evento que se va a agregar a la colección.
Devoluciones
El objeto DtsEventHandler que se ha agregado a la colección.
Ejemplos
En el ejemplo de código siguiente se crea un DtsEventHandler para el OnError
evento en el paquete. Este DtsEventHandler contenedor contiene dos ejecutables y establece una restricción de precedencia entre ellos. En el ejemplo de código se muestra el número de restricciones de precedencia en el contenedor, así como el número de ejecutables del contenedor. A continuación, el ejemplo de código quita un ejecutable y vuelve a mostrar el recuento.
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
Salida del ejemplo:
Name CreationName, Type String
Name DelayValidation, Type Boolean
Descripción del nombre, Cadena de tipo
Name Disable, Escriba Boolean
Archivos ejecutables de nombre, objeto Type
Name ExecutionDuration, escriba Int32
Name ExecutionResult, Type (objeto)
Name ExecutionStatus, Type (objeto)
Variables name, type (objeto)
Número de restricciones de precedencia en DtsEventHandler: 1
Número de ejecutables en DtsEventHandler: 2
Nuevo número de exeutables en DtsEventHandler: 1
Comentarios
Integration Services proporciona muchos eventos, además de permitirle crear sus propios eventos personalizados. Para obtener más información sobre los controladores de eventos, vea Controladores de eventos de Integration Services (SSIS) y Agregar un controlador de eventos a un paquete. Para obtener más información sobre los eventos personalizados, vea Developing a Custom Task.