Обработка блокировок доступа к файлу во время сборки файла - PullRequest
0 голосов
/ 01 апреля 2011

У меня есть пакет [SQL 2008] SSIS, который берет текстовый файл CSV и перемещает его в отдельную папку. Как только он находится в этой папке, я импортирую данные в SQL. Текстовый файл автоматически генерируется внешней программой по периодическому расписанию. Файл также довольно большой, поэтому его генерация занимает некоторое время (~ 10 минут).

Если я пытаюсь переместить этот файл (с помощью задачи «Файловая система») WHILE файл все еще создается, я получаю следующее сообщение об ошибке:

"Процесс не может получить доступ к файлу, поскольку он используется другим процессом."

Это имеет смысл, поскольку он не может переместить файл, к которому осуществляется доступ в другом месте. Вернувшись в DTS, я написал несколько пользовательских сценариев для проверки в течение XX секунд, чтобы увидеть, увеличился ли размер файла, но мне было интересно, как правильно это обрабатывать в SSIS. Конечно, есть лучший способ определить, имеет ли файл блокировки до выполнения файловых операций.

Буду очень признателен за любые предложения или комментарии! Спасибо.

1 Ответ

0 голосов
/ 02 июня 2011

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

Для достижения функциональности, описанной в вашем вопросе, вы можете использовать File Watcher Task, доступный для бесплатной загрузки с веб-сайта SQLIS.com. Нажмите на ссылку, чтобы перейти к загрузке File Watcher Task. стр.

Надеюсь, это поможет.

...