Мне нужно импортировать плоский файл ежедневно. Файл меняет свое имя каждый день. После обработки файла его необходимо перенести в другую папку.Как я могу выполнить задание агента SQL Server, если файл существует в папке сервера?
Я заметил, что могу назначать задания в SQL Server Agent, и я могу сказать, что он запускается каждый час или около того и что я могу добавить к нему команды CMD.
Решение, которое я нашел, состояло в том, чтобы запустить скрипт, чтобы проверить, существует ли файл, поскольку папка должна быть пустой или иметь хотя бы один файл.
Если файл существует, сценарий переименовывает файл в файл, используемый в пакете SSIS, а затем запускает пакет SSIS.
После того, как все будет сделано, оно должно переименовать файл снова на основе сегодняшней даты и переместить его в другую папку.
Если файл не существует, он ничего не должен делать и ждать еще час или около того, чтобы запустить его снова.
Какое наилучшее решение для этого сценария? Является ли сценарий хорошей идеей? Может быть, возможно ли добавить if/else - для файла - в пакет SSIS? Или даже заставить скрипт запускаться из самого пакета SSIS, а не добавлять его в Агент сервера?
EDIT:
Кажется, я был немного наивен, можно запускать сценарии VB с сервера. Будет ли это рекомендуемым решением? Это решает мою проблему, но мне просто интересно, хорошая ли это идея.
Вы смотрели на сценарий наблюдател SSIS файл? Реализации SOme используют наблюдатели событий WMI http://microsoft-ssis.blogspot.com/2010/12/continuously-watching-files-with-wmi.html –
Вы получаете файл с именем переменной (предположим, что у него есть дата или что-то еще в этом). Вы переименуете его в стандартное имя. Обработайте его. Переместите его и добавьте обработанную дату в имя файла. Что о суммировании ситуации? – billinkc
Да. Я нашел несколько руководств в разделе наблюдателя событий WMI. Но теперь у меня проблемы с WQL-запросом. Это также было заложено в другом месте: http://stackoverflow.com/questions/21436377/how-to-execute-ssis-package-when-a-file-is-arrived-at-folder и более подробно здесь http://www.sqlservercentral.com/articles/Integration+Services+%28SSIS%29/90571/ –