Как выполнить пакет служб SSIS для каждого элемента в плоском файле?

Мне нужно выполнить пакет один раз для каждого элемента в плоском файле. Параметрами пакета будут несколько атрибутов текущего элемента. Каков наилучший способ продолжить? Я предполагаю, что последнее, что я делаю, это помещаю Execute Package Task компонент внутри контейнера цикла по каждому элементу, как показано ниже:

введите описание изображения здесь

2 ответа

Решение

Каждый элемент имел три атрибута: имя пользователя, пароль и точное имя пользователя

Затем они использовались для выполнения пакета служб SSIS с каждым именем входа.

Для этого сделайте следующее:

  1. Создайте переменную пакета типа Object в мастер-пакете.
  2. Добавьте задачу скрипта, которая перебирает плоский файл, преобразуйте его в DataTable или List(of T) и сохраните в переменной Object. (Этот шаг из ответа Хади)
  3. Создайте цикл foreach для выполнения следующего.
  4. В контейнере цикла foreach выберите тип перечисления для перечислителя Ado и выберите переменную Object в качестве источника. (Также из ответа Хади)
  5. Поместите задачу сценария и выполните задачу пакета в цикл foreach. Вот так:
  6. Создайте три строковые переменные в основном пакете для имени пользователя, пароля и точного имени_аккаунта.
  7. Заполните основную функцию задачи "Сценарий" следующим кодом:
  8. Установите параметры дочернего пакета в переменные, указанные в Задаче сценария, и все готово!

Простое решение

  1. Прежде всего вы должны создать переменную Package типа Object
  2. Добавьте задачу скрипта, которая перебирает плоский файл, и преобразуйте его в DataTable или же List(of T) и сохранить его в Object переменная.
  3. Подключите задачу скрипта к циклу foreach, который вы используете
  4. В контейнере цикла foreach выберите тип перечисления для перечислителя Ado и выберите Object переменная как источник и сопоставьте столбцы, которые вы хотите использовать в execute package task переменным

Чтение плоского файла в DataTable

Вы можете обратиться к одной из следующих ссылок, чтобы узнать больше:

Примечание: если вам нужно больше деталей, дайте мне ответ

Другие вопросы по тегам