Как я могу использовать контейнер цикла foreach в SSIS для итерации по многомерному массиву?

У меня есть пакет служб SSIS, который обновляет пару таблиц, используя сценарии, и контейнер foreach, а также пару других вещей. Я используюSqlConnection а такжеSqlCommand чтобы вызвать этот запрос в скриптовой задаче перед контейнером foreach:

SELECT TOP 10 DirectoryID, DirectoryPath FROM ProjectDirectory ORDER BY LastAudit

и используюSqlDataReader, чтобы добавить их в многомерный массив [10,2]. Я назначаю массив переменной объектаDirectoryL,ist чтобы я мог перебирать его в контейнере цикла foreach. Это должно выглядеть как {{"1", "C: \ Folder1"}, {"2", "C: \ Folder2"}, ...} Я считаю.

Проблема в том, что я только начал использовать это программное обеспечение пару дней назад, и меня смущает то, как контейнер цикла foreach проходит черезDirectoryList переменная. На данный момент на вкладке коллекции контейнера у меня установлен Enumerator в Foreach From Variable Enumerator, а переменная установлена в User::DirectoryList. У меня есть переменныеUser::DirectoryID установлен на индекс 0 иUser::DirectoryPath установлен в индекс 1. Я пытаюсь заставить его проходить через только верхний уровень массива, чтобы в каждом цикле переменные ID и пути присваивались «1» и «C: \ Folder1», а затем в следующий раз, когда он проходит через цикл, им назначаются «2» и «C: \ Folder2» и т. д. У меня есть компонент сценария, который использует путь для поиска некоторой информации, и я использую идентификатор для обновления правильной строки sql table.

Для отладки мне нужно показать идентификатор и путьMessageBox.Show(Variables.DirectoryID + ", " + Variables.DirectoryPath) первой итерации, и она показывает "8, 8". 8 соответствует идентификатору строки, которая должна отображаться первой. В следующий раз, когда он проходит, он дважды дает мне правильный путь, "C: \ Folder1, C: \ Folder1". Таким образом, очевидно, что отображение переменных не работает, оно отображает обе переменные в один и тот же индекс. В любом случае это не работает, поэтому я думаю, что либо (а может и то и другое?) Не следует выбирать перечислитель Foreach From Variable, или я не могу использовать многомерный массив в контейнере foreach. Я искал и ничего не нашел, и это все может быть трудно понять, но есть предложения?

Ответы на вопрос(1)

Ваш ответ на вопрос