Ich habe ein SSIS-Paket, das einige Project.params gesetzt hat.SSIS-Parameter von C# übergeben
Wie übergebe ich Werte für diese Parameter über C# an das SSIS-Paket?
Ich versuche folgendes:
const string pkgLocation = @"export.dtsx";
var app = new Application();
var pkg = app.LoadPackage(pkgLocation, null);
var results = pkg.Execute();
Dies gibt einen Fehler, mit Fehlern Sammlung „Die Variable‚$ Projekt :: connString‘wurde nicht in der Variablen Sammlung enthalten gefunden Die Variable möglicherweise nicht vorhanden. im richtigen Umfang. " So
Ich versuchte
var param = pkg.Parameters.Add("connString", TypeCode.String);
param.Value = "test";
var results = pkg.Execute();
Zugabe Aber das wirft ein DtsGenericException.
Schauen Sie sich die Dokumentation für die LoadPackage-Methode an. Das ist eine überladene Methode und es sollte eine sein, die 5 Parameter akzeptiert, das wäre eine Möglichkeit, dies zu tun. Oh, das ist ein Projektparameter. Ich habe kein Paket über .net gestartet, das das Projektbereitstellungsmodell verwendet. Ich vermute, dass Sie mehr Code benötigen, da Sie auf das ispac des Projekts verweisen müssen, damit es die Entitäten auf Projektebene kennt. – billinkc
Der Fehler erwähnt die Variablensammlung und die Parameter ... haben Sie versucht, es zu den Variablen hinzuzufügen? 'pkg.Variables.Add (" connString ", false," Projekt "," test ");' (unter der Annahme, dass der Namespace Ihrer Variablen "Projekt" ist) – nemesv
Versuchen Sie, die Overload-Methode Execute des Package-Objekts zu verwenden, die eine Auflistung von Variablen aufnimmt . https://msdn.microsoft.com/en-us/library/microsoft.sqlserver.dts.runtime.dtscontainer.execute.aspx – Alessi