Выполнение пакета служб SSIS из c # - PullRequest
4 голосов
/ 30 августа 2011

Мне нужно создать приложение Windows Form, которое будет изменять значения sring соединения, присутствующие в файле конфигурации dts, а затем выполнять пакет с этим обновленным файлом конфигурации dts.

Даже если я добавляю следующую строку кода, он не принимает обновленный файл конфигурации.

string packagePath = ConfigurationSettings.AppSettings["packagepath"].ToString();
Microsoft.SqlServer.Dts.Runtime.Application app = new Microsoft.SqlServer.Dts.Runtime.Application();
 Package package = app.LoadPackage(packagePath, null);
 package.ImportConfigurationFile(configPath);
 DTSExecResult dtsResult = package.Execute();

Пожалуйста, помогите, как выполнить пакет с измененной конфигурацией dts.

Ответы [ 2 ]

2 голосов
/ 06 сентября 2011

Вам необходимо прочитать файл dtsConfig, который является файлом XML, с использованием объекта .NET XMLDocument, а затем изменить соответствующий узел, содержащий строку подключения, на новое значение.

Пример на следующем форуме MSDNпоказывает, как это можно сделать:

Установка свойств пакета служб SSIS программно

Лично я использую таблицу базы данных для хранения значений конфигурации пакета.Я чувствую, что это намного легче поддерживать, чем файлы конфигурации xml (dtsconfig).

1 голос
/ 04 сентября 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...