Как выполнить пакет служб SSIS для каждого элемента в плоском файле?
Мне нужно выполнить пакет один раз для каждого элемента в плоском файле. Параметрами пакета будут несколько атрибутов текущего элемента. Каков наилучший способ продолжить? Я предполагаю, что последнее, что я делаю, это помещаю Execute Package Task
компонент внутри контейнера цикла по каждому элементу, как показано ниже:
2 ответа
Решение
Каждый элемент имел три атрибута: имя пользователя, пароль и точное имя пользователя
Затем они использовались для выполнения пакета служб SSIS с каждым именем входа.
Для этого сделайте следующее:
- Создайте переменную пакета типа Object в мастер-пакете.
- Добавьте задачу скрипта, которая перебирает плоский файл, преобразуйте его в DataTable или List(of T) и сохраните в переменной Object. (Этот шаг из ответа Хади)
- Создайте цикл foreach для выполнения следующего.
- В контейнере цикла foreach выберите тип перечисления для перечислителя Ado и выберите переменную Object в качестве источника. (Также из ответа Хади)
- Поместите задачу сценария и выполните задачу пакета в цикл foreach. Вот так:
- Создайте три строковые переменные в основном пакете для имени пользователя, пароля и точного имени_аккаунта.
- Заполните основную функцию задачи "Сценарий" следующим кодом:
- Установите параметры дочернего пакета в переменные, указанные в Задаче сценария, и все готово!
Простое решение
- Прежде всего вы должны создать переменную Package типа
Object
- Добавьте задачу скрипта, которая перебирает плоский файл, и преобразуйте его в
DataTable
или жеList(of T)
и сохранить его вObject
переменная. - Подключите задачу скрипта к циклу foreach, который вы используете
- В контейнере цикла foreach выберите тип перечисления для перечислителя Ado и выберите
Object
переменная как источник и сопоставьте столбцы, которые вы хотите использовать вexecute package task
переменным
Чтение плоского файла в DataTable
Вы можете обратиться к одной из следующих ссылок, чтобы узнать больше:
- Как прочитать текстовый файл в DataTable
- DataTable из TextFile?
- Эффективная функция для чтения файла с разделителями в DataTable
Примечание: если вам нужно больше деталей, дайте мне ответ