Конфигурации пакетов SSIS

#ssis #ssis-2012 #ssis-2008

#ssis #ssis-2012 #ssis-2008

Вопрос:

как загрузить несколько файлов Excel с помощью SSIS. В прошлом у меня были пакеты, в которых я перебирал несколько текстовых файлов в папке и загружал их в таблицы SQL server.

Комментарии:

1. Поиск for each loop контейнера

2. «В прошлом у меня были пакеты, в которых я перебирал несколько текстовых файлов в папке и загружал их в таблицы SQL server» Использовать соединитель Excel вместо текстового соединителя?

Ответ №1:

Создайте переменную с именем FileName , установите область ImportMultipleExcelFiles действия равной , тип данных равен String .

Добавьте контейнер цикла Foreach в задачу потока управления.

Отредактируйте контейнер цикла Foreach, в разделе Collection измените значение Enumerator на Foreach File Enumerator

Необходимо изменить конфигурацию счетчика, как показано ниже :

  • Folder : Укажите полный путь к папке, в которой хранятся все наши исходные файлы Excel.
  • Files : вам необходимо прочитать файлы Excel из нашей исходной папки, поэтому введите * .xls в разделе Files , это гарантирует, что наш пакет SSIS прочитает все доступные файлы .xls из исходной папки. Здесь * указывает, что имя файла Excel может быть любым, но расширение файла будет .xls. Если нам нужно прочитать данные из определенного имени файла Excel, мы должны настроить его соответствующим образом.
  • Retrieve File Name : выберите переключатель с полным набором параметров.

Затем создайте сопоставления переменных для контейнера цикла Foreach, выберите переменную «User::FileName» и установите значение индекса равным 0 в разделе Сопоставления переменных.

Добавьте a Data Flow Task внутри Foreach Loop Container . Щелкните правой кнопкой мыши на недавно добавленной задаче потока данных, выберите Свойства и отметьте DelayValidation свойство True .

Добавьте источник Excel в Data Flow Task и создайте новое подключение к любому из исходных файлов Excel.

Необходимо сделать подключение к Excel динамическим, чтобы оно могло подключаться к каждому файлу Excel в исходной папке. Чтобы сделать подключение к источнику Excel динамическим, щелкните правой кнопкой мыши на подключении к источнику Excel, а затем выберите Свойства.

Разверните свойства выражения, затем выберите свойство Строки подключения, а затем щелкните значок выражения в окне выражения :

 "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
 @[User::FileName] ";Extended Properties="Excel 8.0;HDR=YES";"
 

Наконец, запустите пакет SSIS и посмотрите результат.