Nehmen Sie einen weiteren Biss auf das Problem, aber sehen Sie sich Set SSIS database package path und SSIS-Organisation zum Lesen im Hintergrund.
Bis SSIS 2012 befanden sich Pakete, die auf SQL Server bereitgestellt wurden, in der msdb. Die .NET-API für die Interaktion mit ihnen war in allen Versionen gleich.
Mit der Version 2012 von SSIS haben wir zwei verschiedene Bereitstellungsmodelle. Die Paketbereitstellung, das „klassische“ Modell, ist aktiv und wird vollständig unterstützt. Derselbe Code zum Ausführen eines Pakets auf 2005 funktioniert für Projekte des Paketbereitstellungsmodells 2012. Dies ist der Microsoft.SqlServer.Dts.Runtime Namensraum
Ihr Code versucht, eine 2012-Lösung zu laden, die mithilfe des „Projektbereitstellungsmodells“ mit der API „Paketbereitstellungsmodell“ erstellt wurde. Dies ist der Microsoft.SqlServer.Management.IntegrationServices Namespace und die beiden passen nicht zusammen.
Sie haben die Wahl, Ihr Projekt wieder auf das Paketbereitstellungsmodell umzustellen oder Ihren Code zu aktualisieren. In der ersten verknüpften Frage habe ich die VB.NET-Implementierung zum Ausführen eines SSIS-Pakets im SSISDB-Katalog bereitgestellt. Es gibt einige Art, eine .ispac-Datei auszuführen, weil ich die Option in dtexec
sehe aber ich sehe nicht die spezifische Methode. Dies ist der Mechanismus, den VS/SSDT verwendet, wenn es die Pakete lokal ausführt.