DtsEventHandlers.Add(String) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Ajoute un nouvel événement à la collection 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
Paramètres
- eventName
- String
Nom de l'événement à ajouter à la collection.
Retours
Objet DtsEventHandler ajouté à la collection.
Exemples
L’exemple de code suivant crée un DtsEventHandlerOnError
événement dans le package. Ce DtsEventHandler conteneur contient deux exécutables et établit une contrainte de précédence entre eux. L’exemple de code affiche le nombre de contraintes de précédence dans le conteneur, ainsi que le nombre d’exécutables dans le conteneur. L’exemple de code supprime ensuite un exécutable et affiche à nouveau le nombre.
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
Exemple de sortie :
Name CreationName, Type String
Name DelayValidation, Type Boolean
Description du nom, chaîne de type
Name Disable, Type Boolean
Fichiers exécutables de nom, objet type
Name ExecutionDuration, Type Int32
Name ExecutionResult, Type, Objet
Name ExecutionStatus, Type, Objet
Variables de nom, objet type
Nombre de contraintes de précédence dans DtsEventHandler : 1
Nombre d’exécutables dans DtsEventHandler : 2
Nouveau nombre d’exeutables dans DtsEventHandler : 1
Remarques
Integration Services fournit de nombreux événements, en plus de vous permettre de créer vos propres événements personnalisés. Pour plus d’informations sur les gestionnaires d’événements, consultez Gestionnaires d’événements Integration Services (SSIS) et Ajouter un gestionnaire d’événements à un package. Pour plus d’informations sur les événements personnalisés, consultez Développement d’une tâche personnalisée.