2014-12-07 4 views
1

Я пытаюсь создать пакет SSIS, который скопирует около 50 + таблиц из ODBC DataSource (DB QuickBooks) в SQL DB. Должен ли я создать 50 задач потока данных для этого? Каков наилучший способ сделать это? Ввод DFT внутри петли и чтение таблиц? Или 50+ задач потока данных ???Копирование нескольких таблиц с использованием пакета SSIS

ответ

2

Вы можете создать 50 задач потока данных, но вам не обязательно это делать.

Возможно наличие нескольких независимых источников-адресатов в одном и том же ДПФ. Это будет не так гибко, потому что вы можете запускать отдельный DFT отдельно от пакета (при отладке), но вы не можете запустить кусок DFT без его модификации (насколько я знаю).

В зависимости от того, какой вариант вы ни выбрали, я вижу несколько способов, чтобы спасти себя от мирской работы с 50+ столов:

а) Пусть SQL Server Import and Export Wizard делать скучную работу для Вас. Самое лучшее об этом инструменте в том, что он может создать пакет .dtsx.

Таким образом, с помощью мастера, вы можете:

  • выбрать для импорта всех 50+ таблиц из ODBC DataSource
  • вместо запуска мастера до конца, сохранить результат в виде .dtsx пакета.
  • открыть пакет в Visual Studio с помощью инструментов данных SQL Server
  • изменить пакет до ваших потребностей (например, логически перегруппировка таблиц в разных DFT, добавив любые дополнительные преобразования).

б) Вручную изменить код пакета (некоторые BIML знания могут быть необходимы):

  • В Visual Studio с помощью инструментов SQL Server Data, создать 1 ДПФ, который будет вашим образцом.
  • В решении Exporer щелкните правой кнопкой мыши на вашем пакете и выберите Просмотреть код.
  • Либо копировать/вставить ДПФ 50+ раз, меняя имена таблиц, или, возможно, вы даже умудряются автоматизировать МБЗМ каким-то образом, чтобы избежать копирования/вставки