DtsEventHandlers.Add(String) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Adiciona um novo evento à coleção 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
O nome do evento a ser adicionado à coleção.
Retornos
O objeto DtsEventHandler que foi adicionado à coleção.
Exemplos
O exemplo de código a seguir cria um DtsEventHandler para o OnError
evento no pacote. Esse DtsEventHandler contêiner contém dois executáveis e estabelece uma restrição de precedência entre eles. O exemplo de código exibe o número de restrições de precedência no contêiner, bem como o número de executáveis no contêiner. O exemplo de código remove um executável e exibe novamente a contagem.
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
Saída de exemplo:
Nome CreationName, Cadeia de Caracteres de Tipo
Nome DelayValidation, Tipo Booleano
Descrição do nome, cadeia de caracteres de tipo
Desabilitar nome, tipo booliano
Nome executáveis, objeto Type
Name ExecutionDuration, Type Int32
Name ExecutionResult, Type Object
Name ExecutionStatus, Type Object
Variáveis de nome, objeto Type
Número de restrições de precedência em DtsEventHandler: 1
Número de executáveis em DtsEventHandler: 2
Novo número de exeutables em DtsEventHandler: 1
Comentários
O Integration Services fornece muitos eventos, além de permitir que você crie seus próprios eventos personalizados. Para obter mais informações sobre os manipuladores de eventos, consulte manipuladores de eventos do SSIS (Integration Services) e adicione um manipulador de eventos a um pacote. Para obter mais informações sobre eventos personalizados, consulte Desenvolvendo uma tarefa personalizada.