как использовать foreach с "для каждого из переменной enumator", если переменная имеет тип List < > в пакетах SSIS.
Как использовать список списков для "foreach" в SSIS
Ответ 1
Вы должны объявить две переменные SSIS
- переменная коллекции (источник для каждого перечислителя)
- переменная для одного элемента (используется в перечислителе)
Скажем, у вас есть List<string>
, и вам нужно перебирать его элементы.
Вот пример, как это сделать:
- в окне переменных SSIS создайте переменную с именем "col", введите "object"
- создать переменную с именем "s", введите "string"
-
создайте образец script задачи, который заполнит коллекцию "col" и добавит переменную "User:: col" в список задач ReadWriteVariables. Тело script будет выглядеть следующим образом:
List<string> col = new List<string>() {"One", "Two", "Three"}; Dts.Variables["User::col"].Value = col;
-
создайте контейнер цикла Foreach и настройте его, чтобы набрать "From enumator переменной" по переменной "User:: Col".
- в сопоставлениях переменных контейнера Foreach добавляет сопоставление для переменной "User:: s"
-
создайте образец script задачи в контейнере Foreach, демонстрируя потребление итерации (добавьте "User:: s" к задаче ReadOnlyVariables). Тело script будет выглядеть следующим образом:
string val = (string)Dts.Variables["User::s"].Value; MessageBox.Show(val);
- выполнить образец, нажав F5 в BIDS. Он должен отображать три диалоговых окна с текстами "Один", "Два", "Три".
Примечание. Образцы script записываются в С# для BIDS 2008.