Конфигурация пакета SSIS - где установить свойство переменной

87
13

В настройке пакета SSIS я заметил, что при выборе свойства для добавления в файл конфигурации часто бывает несколько версий указанного свойства. Например, я могу добавить свойство переменной пакета через этот путь:


-пакет > Variables- > VariableName- > Свойство


Но я также могу получить доступ к тому же свойству через эти пути:


-пакет > Executables- > Variables- > VariableName- > Свойство


Пакет- > Менеджеры соединений- > Соединение- > Переменные- > VariableName- > Свойство


Вопрос в том, в чем причина этого? А во-вторых, что является наиболее подходящим вариантом для добавления свойства в файл конфигурации?

спросил(а) 2021-01-19T23:25:27+03:00 1 месяц, 1 неделя назад
1
Решение
60

Причина заключается в инкапсуляции/масштабировании, и все настраивается.


Если вы создаете переменную в области уровня пакета, все, что добавлено в этот пакет, может получить к ней доступ и использовать ее. Добавьте контейнер последовательностей, внутри которого добавлен цикл Foreach и внутри него, выполнить задачу SQL для потока данных в задачу файловой системы. Вы можете создать переменную для каждого из этих объектов. Все, что содержится внутри этой вещи, имеет видимость для этих переменных. Мой цикл Foreach определяет и заполняет CurrentFileName и используется в Execute SQL Task (для записи того файла, который я обрабатываю), Data Flow, чтобы использовать правильный исходный файл и завершить задачу файловой системы, чтобы вставить ее в архив. Возможно, нет необходимости в том, чтобы эта переменная отображалась вне этой области. Конкретный сценарий, в котором я бы создал переменную не-в-пакете, - это если я загружаю вещи параллельно - как и размерная нагрузка. У меня есть 3 обработчика Foreach с помощью списков измерений. Я ленив и имею один и тот же код внутри каждого Enumerator, просто используя другой исходный список.


Кроме того, вы вообще не хотите создавать переменные SSIS в любой области, кроме области пакета. В противном случае вы можете потратить слишком много времени на поиск объектов, ищущих переменные (вкладка проводника пакета может быть полезна в таких ситуациях)

Мое эмпирическое правило по настройкам будет выбирать только значение Value или ConnectionString (в зависимости от того, является ли оно переменной или диспетчером подключений) и выберете его только на корневом уровне.


Наконец, если у вас нет BIDS Helper, это бесплатное добавление для VS, что значительно упрощает разработку SSIS/SSAS/SSRS болезненный опыт.

ответил(а) 2021-01-19T23:25:27+03:00 1 месяц, 1 неделя назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема