2013-06-20 4 views
0

У меня возникла ситуация, когда я хочу обрабатывать файлы в пакете SSIS, но только файлы, которые являются новыми и только файлами, которые соответствуют определенным шаблонам имен файлов.Доступ к результатам запроса WMI в SSIS

Возможно ли использовать WMI для достижения этой задачи путем циклического перебора запроса WMI?

Задача WMI Data Reader, по-видимому, является ближайшим соперником, но она может только записывать свои результаты в файл (а не указывать таблицу базы данных или набор записей в памяти).

Неужели кто-то добился успеха?

ответ

0

Если вы хотите использовать WMI Data Reader Task, самым простым решением было бы сохранить результат в файле. Добавьте задачу потока данных, которая считывает файл и вставляет данные в базу данных.

Однако другое решение было бы что-то вроде:

  1. Добавить Foreach Loop с Foreach File Enumerator, вы можете использовать выражение для шаблонов имен файлов.
  2. обрабатывать файлы в Data Flow Task
  3. Если разрешено перемещать файлы затем использовать File System Task переместить файл в другую папку, чтобы она не будет обработан снова.

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

+0

Ваше предложение, то есть запись в файл, а затем чтение этого файла, похоже, является наиболее распространенным предложением. Мне показалось странным, что SSIS не предоставила другие способы хранения результатов набора задач WMI (например, в наборе записей в памяти в пакете или в таблице базы данных, например), но там вы идете .. – Rowan

+0

Я не уверен, что использование задачи WMI - правильный путь. В чем именно причина выбора для WMI? – JodyT