У меня есть 4 разных текстовых файла, каждый файл с другим именем и разными столбцами помещается в одну папку. Я хочу, чтобы эти 4 файла были вставлены или обновлены в 4 разных существующих таблицы. Итак, как читать эти 4 файла динамически и динамически вставлять их в соответствующие таблицы в SSIS.
вставка нескольких текстовых файлов
Ответы (1)
Что ж, вам нужно использовать Задачу потока данных для перемещения данных из Источника плоского файла в целевую таблицу (возможно, Место назначения OLEDB). Разделены ли столбцы в вашем файле каким-либо образом? Например, с любым из этих: (;),(|) или что-то в этом роде? если это так, вы можете создать FlatFileConnectionManager и настроить его для разделения столбцов. Если нет, вам может понадобиться использовать параметр FixedWidth для разделения столбцов. Чтобы использовать OLEDB Destination, вам нужно создать OLEDB connectionManager, чтобы указать на таблицу в вашей базе данных. Я мог бы помочь вам больше, если бы у меня было больше информации о файлах, из которых вы хотите прочитать данные.
ИЗМЕНИТЬ
Ну, вы сказали в начале, что работаете с 4 файлами и 4 таблицами, поэтому вы можете создать 4 источника Flat Destination с 4 назначениями OLEDB (по 1 для каждого плоского файла). Если я вас правильно понял, эти 4 файла могут или не могут пока существовать. Поэтому, если вы знаете имена, которые получат файлы, измените свойство пакета DelayValidation на true, а затем создайте соединение с образцом текстового файла. Вы делаете это, чтобы сохранить путь к файлу. Таблицы, на мой взгляд, ДОЛЖНЫ существовать. Теперь, когда вы сказали:
я хочу загружать все текстовые файлы в каждую существующую таблицу всякий раз, когда в папке есть файлы.
Я знаю, что единственный способ сделать что-то подобное — запланировать выполнение вашего пакета в определенное время с помощью Задания агента SQL Server. Пожалуйста, дайте мне знать, если это то, что вы искали.