ssis - источник плоского файла - процесс не может получить доступ к файлу, потому что он используется другим процессом - PullRequest
2 голосов
/ 22 июня 2010

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

В идеале я ищу настройку для источника плоского файла, аналогичную коду C #ниже.Если не так, какой маршрут я могу выбрать, чтобы прочитать плоский файл?Я пытаюсь остаться в SSIS, так как искренне не могу поверить, что это невозможно сделать со стандартными деталями, и предположить, что я что-то упустил.

Используя C #, я могу успешно открыть точный файл послекакие ошибки источника плоского файла

System.IO.FileStream file
= new System.IO.FileStream
    (
        file_to_hash.FullName
        , System.IO.FileMode.Open
        , System.IO.FileAccess.Read
        , System.IO.FileShare.ReadWrite
    );

Это сообщение об ошибке в службах SSIS: Предупреждение: 0x80070020 в задаче потока данных, источник плоского файла [1]: процесс не может получить доступ к файлу, поскольку он используетсядругим процессом.Ошибка: 0xC020200E в задаче потока данных, источник плоского файла [1]: невозможно открыть файл данных «XXX».

Ответы [ 2 ]

1 голос
/ 22 июня 2010

обе идеи Тима и Кейда сработают. Я выбрал подход Тима - копирование файла b / c У меня уже был код (и копия, и преобразование данных), и изменение имени / пути файла при преобразовании данных было настройкой конфигурации создаваемого приложения. Хотел бы я пометить ответ, но задал вопрос как незарегистрированный пользователь.

0 голосов
/ 22 июня 2010

Возможно, вам нужно написать собственный источник данных - , возможно, такой же простой, как задача скрипта .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...