2 Stimmen

Wie fange ich Ereignisse von einem in C# geladenen SSIS-Paket ab?

Ich habe ein SSIS-Paket, das mehrere Aufgaben ausführt. Ich habe manuell einen Ereignishandler in Business Intelligence Studio 2005 auf Paketebene für das Ereignis "OnExecStatusChanged" hinzugefügt.

Meine Frage ist, wie kann ich einen Handler für dieses Ereignis in C# hinzufügen? Ich habe das Paket wie angegeben geladen aquí und ich habe auch eine benutzerdefinierte Klasse erstellt, die von Microsoft.SqlServer.Dts.Runtime.DefaultEvents geerbt wurde und mein "Listener" ist:

    Microsoft.SqlServer.Dts.Runtime.SqlPackageEventListener sqlListener = new SqlPackageEventListener();
    Microsoft.SqlServer.Dts.Runtime.Application sqlPackageLoader = new Application();
    Microsoft.SqlServer.Dts.Runtime.Package sqlPackage = sqlPackageLoader.LoadPackage(@"path\MigrateData.dtsx", sqlListener);
    sqlPackage.Execute(null, null, sqlListener, null, null);

Wenn ich die Eigenschaft sqlPackage.EventHandlers.Count überprüfe, erhalte ich die richtige Anzahl für Handler, die in Business Intelligence Studio hinzugefügt wurden.

Gibt es eine Möglichkeit, diese Ereignisse innerhalb von C# zu behandeln?

Gracias.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X