Mam pakiet SSIS, który ma kilka zestawów Project.params.Przekaż parametry SSIS z C#
Jak przekazać wartości tych parametrów do pakietu SSIS przez C#?
Próbuję następujące:
const string pkgLocation = @"export.dtsx";
var app = new Application();
var pkg = app.LoadPackage(pkgLocation, null);
var results = pkg.Execute();
ta zwraca niepowodzenie, z kolekcji Błędy zawierające „Zmienna«$ Projekt :: connString»nie została znaleziona w zbiorze zmiennych zmienna może nie istnieć. we właściwym zakresie. "
Więc próbowałem dodając
var param = pkg.Parameters.Add("connString", TypeCode.String);
param.Value = "test";
var results = pkg.Execute();
Ale to rzuca DtsGenericException.
Sprawdź dokumentację metody 'LoadPackage'. Jest to metoda przeciążona i powinna istnieć taka, która akceptuje 5 parametrów, co byłoby jednym ze sposobów robienia tego. Och, to jest parametr projektu. Nie rozpocząłem pakietu przez .net, który używa modelu wdrażania projektu. Podejrzewam, że będziesz potrzebować więcej kodu, ponieważ będziesz potrzebował odwoływać się do ispac projektu, aby mieć świadomość istnienia elementów na poziomie projektu. – billinkc
Błąd wspomina kolekcję zmiennych i parametry ... czy próbowałeś dodać ją do zmiennych? 'pkg.Variables.Add (" connString ", false," Project "," test ");' (zakładając, że przestrzenią nazw twoich zmiennych jest "Projekt") – nemesv
Spróbuj użyć metody przeciążenia Execute obiektu Package, która pobiera zbiór zmiennych . https://msdn.microsoft.com/en-us/library/microsoft.sqlserver.dts.runtime.dtscontainer.execute.aspx – Alessi