BIDS Импорт из изменения имени файла [подстановочный знак?]

Я пытаюсь создать процесс для импорта данных. Я создал весь процесс, и он работает, но у меня проблемы с созданием переменной, чтобы найти имя файла CSV, который я хочу импортировать автоматически. Каждый раз, когда мне загружается новый csv, у него есть метка времени. Я хочу иметь возможность получить этот файл независимо от его имени и работать с ним.

Так, например, на этой неделе имя файла будет

filename_4-14-2014.csv

И на следующей неделе

filename_4_21_2014.csv

И так далее в вечность.,,

Есть ли способ создать переменную, которая выбирает полное имя файла, даже если оно меняется?

2 ответа

Решение

Итак, чтобы выполнить то, что я хотел, я создал контейнер цикла по каждому элементу. Используя контейнер цикла foreach, я попытался найти все файлы, заканчивающиеся на.csv, в указанной папке, используя подстановочный знак [обозначается звездочкой: *.csv] .

Внутри контейнера Foreach Loop происходит следующее.

Step 1: File System Task - rename file. 
Step 2: Data Flow Task - Import data to sql
Step 3: File System Task - Copy the file to another folder, append datetime to filename
Step 4: File System Task - Delete source file. 

Я использовал переменные, чтобы получить все имена файлов и папок плюс datetime.

После некоторого осмотра я обнаружил следующее...

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

Вам просто нужно добавить переменные и задачу файловой системы в ваш пакет.

Другие вопросы по тегам