DtsEventHandlers.Add(String) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Fügt der DtsEventHandlers-Auflistung ein neues Ereignis hinzu.
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
Parameter
- eventName
- String
Der Name des Ereignisses, das der Auflistung hinzugefügt werden soll.
Gibt zurück
Das der Auflistung hinzugefügte DtsEventHandler-Objekt.
Beispiele
Im folgenden Codebeispiel wird ein DtsEventHandlerOnError
Ereignis im Paket erstellt. Dieser DtsEventHandler Container enthält zwei ausführbare Dateien und stellt eine Rangfolgeeinschränkung zwischen ihnen her. Im Codebeispiel wird die Anzahl der Rangfolgeeinschränkungen im Container sowie die Anzahl der ausführbaren Dateien im Container angezeigt. Im Codebeispiel wird dann eine ausführbare Datei entfernt und die Anzahl erneut angezeigt.
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
Beispielausgabe:
Name CreationName, Type String
Name DelayValidation, Type Boolean
Name Description, Type String
Name Disable, Type Boolean
Name Ausführbare Dateien, Type-Objekt
Name ExecutionDuration, Type Int32
Name ExecutionResult, Type-Objekt
Name ExecutionStatus, Type-Objekt
NameVariablen, Type-Objekt
Anzahl der Rangfolgeeinschränkungen in DtsEventHandler: 1
Anzahl der ausführbaren Dateien in DtsEventHandler: 2
Neue Anzahl von Exeutables in DtsEventHandler: 1
Hinweise
Integration Services bietet viele Ereignisse, zusätzlich dazu, dass Sie eigene benutzerdefinierte Ereignisse erstellen können. Weitere Informationen zu den Ereignishandlern finden Sie unter SSIS-Ereignishandler (Integration Services) und Hinzufügen eines Ereignishandlers zu einem Paket. Weitere Informationen zu benutzerdefinierten Ereignissen finden Sie unter Entwickeln einer benutzerdefinierten Aufgabe.