2012-04-24 3 views
3

Я пытаюсь запустить пакет dts из приложения C#. Однако мне нужно динамически изменять строку подключения. Я посмотрел в Интернете и обнаружил, что должен использовать свойство Variables объекта Package. Дело в том, что моя Visual Studio 2010 не показывает этот атрибут Variables для пакета. Используемые нами пространства имен -Как изменить строку соединения в пакете DTS во время выполнения из приложения .NET?

using Microsoft.SqlServer.Dts.Runtime; 
using Microsoft.SqlServer.Dts.Runtime.Wrapper; 

Что я должен делать?

+0

Пожалуйста, не префикс своих названий с "C#" и тому подобными. Вот для чего нужны названия. –

+0

@JohnSaunders - да? Для чего нужны _tags_? –

+1

@KennyEvitt: Я думаю, что мы даже - я не знаю, о чем вы говорите, и я думаю, что, поскольку вы отвечаете на мой комментарий от четырех месяцев назад, вы не знаете, что такое _I_ ссылаясь на. –

ответ

2

Действительно ли вы имеете в виду DTS (SQL2000) или его новый SSIS для сестер? В любом случае у меня была аналогичная проблема, когда мне приходилось указывать несколько динамических подключений к пакету. Так я решил, что это так:

От вызывающему: - запись в таблицу SQL двух столбцов: - Колонка «Ключ» была конкретная связь с целевой - В столбце «Значение» было установлено новое соединение значение

Внутри упаковки: - Использование SQL Task для чтения пары ключ/значение в @user :: переменных - Используйте задачу сценария, чтобы получить дескриптор запущенного экземпляра себя -> Присвоить соединение строки через эту рукоятку

DTS Пример:

' Get a reference to self (the DTS package currently running) 
Set oPkg = DTSGlobalVariables.Parent 

' Get connection to Input File - Set Path 
Set oCn = oPkg.Connections.Item ("MasterFileIn") 
oCn.DataSource = workAreaPath & "MasterFile.txt" 

SSIS не разрешает доступ к активному объекту пакета, но вы можете установить соединения напрямую. В вашем ScriptMain.cs файла:

ConnectionManager cm = Dts.Connections["MasterFileIn"]; 
cm.ConnectionString = Dts.Variables["DataSource"].Value; 
+0

См. «[Должны ли« Привет »,« спасибо », теги и приветствия удалены из сообщений?] (Http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations -be-удалены, от-сообщений)». –