Как я могу динамически менять свойство Foreach Loop Recurse - PullRequest
0 голосов
/ 03 октября 2018

Я работаю в проекте, где иногда мне нужно перебирать подпапку, а иногда нет.Чтобы достичь своей цели, я хочу использовать единый цикл по каждому элементу и динамически изменять его свойство Переместить подпапку Если есть какое-либо решение, позволяющее динамически изменять свойства с помощью выражения задач SSIS или с помощью кода VB или C # или чего-либо еще?Пожалуйста, помогите.

enter image description here

Ответы [ 2 ]

0 голосов
/ 04 октября 2018

В выражениях в цикле foreach Свойства коллекции вы выбираете после того, что называется "Recurse"

enter image description here

Создайте логическую переменную и затем назначьтепеременная для свойства "Recurse".Возможно, вам придется установить для свойства задержки значение true в цикле foreach.

Затем перевернуть эту переменную во время выполнения, чтобы изменить ее поведение, используя задачу скрипта или это можно сделать с помощью результатов хранимой процедуры.

0 голосов
/ 03 октября 2018

Рассматривали ли вы наличие двух копий цикла по каждому элементу, одна с проверенными подпапками перемещения, а другая с непроверенным этим свойством, а затем с помощью ограничения приоритета с параметром, чтобы решить, какую из них выполнять?Каждый цикл Foreach может быть связан с предыдущей задачей «Выполнение SQL» в вашем примере с ограничением приоритета для каждого, содержащего выражение, которое проверяет параметр, который необходимо определить с помощью цикла Foreach для использования.В примере ниже приведено выражение для ограничения приоритета, в котором используется логический параметр.Это будет выполнено в цикле Foreach, который пересекает подпапки, и то же самое будет применяться к другому (нерекурсивному) циклу Foreach с проверкой на то, что для параметра установлено значение false.

@[$Package::TraverseSubFolders] == True
...