(Я получаю сообщение об ошибке каждый раз, когда меняю выражение)

мпортировать данные в таблицу сервера sql в SSIS из исходного файла Excel, каждый раз с разными именами файлов (примеры имен файлов Excel: abc123, 123abc, ab123c и т. Д.,)

Ответы на вопрос(1)

ForEach Loop container вControl Flow вкладка, а затем размещениеData Flow task в задаче Поток управления. Я объяснил процесс в следующем примере. Этот пример используетSQL Server бэк-энд в качестве пункта назначения иExcel 97-2003 формат.xls в качестве исходных файлов. пожалуйстанота что файлы Excel должны иметь одинаковый формат.

Пошаговый процесс:

Создать таблицу с именемdbo.Location как показано на скриншоте #1, В этом примере эта таблица будет заполнена чтением трех разных файлов Excel, имеющих одинаковый макет. На скриншоте показана пустая таблица перед выполнением пакета.

Создайте два файла Excel в путиc:\temp\ как показано на скриншотах #2 - #4, Обратите внимание, что оба файла Excel имеют одинаковую структуру, но разное содержимое.

В пакете служб SSIS создайте три переменные, как показано на скриншоте #5, переменнаяFolderPath будет содержать путь к файлам Excel;FileExtension будет содержать расширение файла Excel (здесь в этом случае это* .xls) а такжеFilePath должен быть настроен так, чтобы он указывал на один действительный файл Excel (это требуется только во время начальной настройки диспетчера соединений Excel).

СоздатьExcel connection вменеджер соединений указывая на один действительный файл Excel, как показано на скриншоте #6.

СоздатьOLE DB Connection вменеджер соединений указывая на SQL Server.

В пакете служб SSIS поместите контейнер цикла ForEach и задачу «Поток данных» в контейнер цикла ForEach, как показано на снимке экрана #7.

Настройте контейнер цикла ForEach, как показано на скриншотах #8 а также #9, Делая это, переменнаяUser::FilePath будет содержать полный путь к файлам Excel, расположенным в папкеc:\temp\ с помощью переменныхFolderPath а такжеFileExtension настроен наCollection раздел.

Внутри задачи потока данных поместитеExcel source читать данные файла Excel и OLE DB destination вставить данные в таблицу SQL Serverdbo.Location, Задача потока данных должна выглядеть так, как показано на скриншоте #10.

Настройте источник Excel, как показано на скриншотах #11 а также #12 читать данные, используя подключение к Excel.

Настройте назначение OLE DB, как показано на скриншотах #13 а также #14 вставить данные в таблицу базы данных SQL Server.

НаПодключение к Excel в диспетчере соединений настройте выраженияExcelFilePath а такжеServerName как показано на скриншоте #15.

Пример выполнения задачи потока данных показан на снимке экрана #16.

Скриншот #17 отображает данные в таблице dbo.Location после выполнения пакета. Обратите внимание, что он содержит все строки в файлах Excel, показанные на скриншотах #3 а также #4.

НаData Flow task свойства, установитеDelayValidation вПравда так что SSIS не выдает ошибки при открытии пакета.

Надеюсь, это поможет.

Снимок экрана № 1:

Снимок экрана № 2:

Снимок экрана № 3:

Снимок экрана № 4:

Снимок экрана № 5:

Снимок экрана № 6:

Снимок экрана № 7:

Снимок экрана № 8:

Снимок экрана № 9:

Снимок экрана № 10:

Снимок экрана № 11:

Снимок экрана № 12:

Снимок экрана № 13:

Снимок экрана № 14:

Снимок экрана № 15:

Снимок экрана № 16:

Снимок экрана № 17:

Снимок экрана № 18:

 Lrn27 июн. 2011 г., 02:40
Это помогло. Можно ли будет показать, как можно импортировать и другие файлы XML? В источнике XML нет редактора выражений ?! Спасибо за вашу помощь и вашу работу сообществу.
 Si818 апр. 2014 г., 18:31
Как я могу использовать ваш ответ на мой вопрос здесь:stackoverflow.com/questions/23158021/... (Я получаю сообщение об ошибке каждый раз, когда меняю выражение)
 Neo16 сент. 2011 г., 11:18
привет Шива пожалуйста ответь мне это?stackoverflow.com/q/7441133/428073
 Lrn22 июн. 2011 г., 18:37
Какие выражения следует использовать в «Диспетчере соединений с плоскими файлами» для того же процесса для работы с CSV-файлами? Я говорю о скриншоте № 15, но с файлами .csv. Выражения отличаются для файлов CSV, которые используют диспетчер соединений с плоскими файлами.
 Faizan Mubasher08 нояб. 2013 г., 10:40
Потрясающее объяснение! Отлично

Ваш ответ на вопрос