Мне нужно создать приложение 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.

4
Shipu 30 Авг 2011 в 12:37

2 ответа

Лучший ответ

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

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

Программная установка свойств пакета SSIS

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

2
user756519user756519 6 Сен 2011 в 15:29