Как найти файл Flat, который в данный момент обновляет запись в нем

В SSIS В папке много плоских файлов и, используя для каждого контейнера цикла, мы обрабатываем его один за другим. Если какой-либо новый файл помещен в папку и он все еще находится в режиме копирования. Тогда мы не должны принимать это за продолжение процесса. Мы должны обрабатывать только полностью скопированный файл самостоятельно для нашего следующего процесса.

Как мы можем достичь этого? Пожалуйста, дайте ваши предложения.

1 ответ

Решение

Лучший способ сделать это в прошлом - использовать задачу C# Script и попытаться открыть файл. Если файл все еще копируется, вы получите ошибку (которую вы поймаете). Затем вы можете установить логическую переменную для условной обработки файла, если Open работал.

Например: Boolean b = true;

        FileStream f;

        try
        {
            f = new FileStream("C:\\Test\\Test.txt", FileMode.Open, FileAccess.ReadWrite, FileShare.None);
        }
        catch (IOException e)
        {
            if (e.Message == "hello")
            {
                b = false;
            }
        }
Другие вопросы по тегам