У меня есть пакет SSIS, который имеет набор Project.params.Передача параметров SSIS с C#
Как передать значения для этих параметров в пакет SSIS через C#?
Пытаюсь следующее:
const string pkgLocation = @"export.dtsx";
var app = new Application();
var pkg = app.LoadPackage(pkgLocation, null);
var results = pkg.Execute();
Это возвращает ошибку, с коллекции Ошибки, содержащие «Переменная„$ Project :: connString“не был найден в коллекции переменных переменная не может существовать. в правильном объеме ".
Так что я попытался добавить
var param = pkg.Parameters.Add("connString", TypeCode.String);
param.Value = "test";
var results = pkg.Execute();
Но это бросает DtsGenericException.
Посмотрите на документацию для метода 'LoadPackage'. Это перегруженный метод, и должен быть тот, который принимает 5 параметров, что было бы одним из способов сделать это. О, это параметр проекта. Я не запускал пакет через .net, который использует модель развертывания проекта. Я подозреваю, что вам понадобится больше кода, так как вам нужно будет ссылаться на ispac проекта, чтобы он знал об объектах уровня проекта. – billinkc
Ошибка упоминает набор переменных и параметры ... пытались ли вы добавить его к переменным? 'pkg.Variables.Add (" connString ", false," Project "," test ");' (предполагая, что пространство имен ваших переменных является «Project») – nemesv
Попробуйте использовать метод перегрузки Execute объекта пакета, который принимает в себя набор переменных , https://msdn.microsoft.com/en-us/library/microsoft.sqlserver.dts.runtime.dtscontainer.execute.aspx – Alessi