#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 и посмотрите результат.