Как выборочно загрузить файлы Excel? - PullRequest
0 голосов
/ 13 ноября 2008

У меня есть пакет служб SSIS, который должен искать два разных типа файлов Excel, типа A и типа B, и загружать данные в две разные промежуточные таблицы, tableA и tableB. Форматы этих таблиц Excel различны и соответствуют их таблицам.

Я подумал о том, чтобы поместить typeA.xls и typeB.xls в две разные папки для простоты (пути к папкам настраиваются). Необходимые файлы Excel будут помещены сюда через какое-либо другое приложение или вручную.

Я хочу, чтобы мой пакет dtsx мог сканировать папку, выбирать последний необработанный файл и загружать его, игнорируя другие, а затем добавлять к имени файла «-loaded» (typeAxxxxxx -loaded.xls). «-Груженный» в имени файла - это то, как я планирую провести различие между уже загруженными файлами и теми, которые еще должны быть загружены.

Мне нужен совет:

a) Как проверить эту настроенную папку на наличие последнего файла, т.е. без '-loaded' в имени файла и загрузить его? ..и затем после загрузки переименуйте тот же файл в этой настроенной папке с постфиксом «-loaded».

б) Это лучший подход к этому или есть лучший способ?

Спасибо.

Ответы [ 2 ]

1 голос
/ 14 ноября 2008

Вы можете сделать это таким образом, но для этого может потребоваться несколько сложных строковых выражений.

например. создайте цикл ForEach для файлов .xls, внутри цикла добавьте пустую задачу сценария, а затем поток данных для загрузки этого файла. Соедините их с ограничением приоритета и сделайте его условным: выражение ограничения приоритета будет проверять, не заканчивается ли имя файла на -loaded.xls. Вы можете сделать это в скрипте или просто использовать выражение SSIS с ограничением приоритета. Наконец, добавьте File System Task, чтобы переименовать файл. Вам может потребоваться создать новое имя файла с другим выражением.

Может быть проще создать две папки: Входящие для новых необработанных файлов и Загруженные для файлов, которые вы обработали, и просто переместите .xls в эту папку после обработки без переименования. Это позволит избежать первого условного выражения (и фиктивной задачи сценария) и упростит настройку задачи файловой системы.

0 голосов
/ 01 июля 2009

Вы можете получить задачу «Наблюдение за файлами SQL» и добавить ее в свой SSIS. Я думаю, что это более чистый способ делать то, что вы хотите.

Наблюдатель за файлами SQL

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...