Фильтр служб SSIS по регулярному выражению и получение первого файла на основе первой измененной даты - PullRequest
0 голосов
/ 20 октября 2019

У меня есть папка с несколькими CSV-файлами для чтения в SSIS через отдельные параллельные процессы. Я использую задачу «Сценарий» для фильтрации файлов, которые обрабатываются каждым потоком данных на основе REGEX.

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

Я пытался добавить сортировку в Directory.GetFiles, а затем прервать выполнение на 1 (снизу), но получаю различные ошибки:

C # Прерывание цикла foreach после X числа элементов

Как мне отсортировать массив строк из .GetFiles () в порядке даты последнего изменения в asp.netВеб-страницы?

   public void Main()
                {
                    //// Filter on REGEX condition
                    string dirPath = (string)Dts.Variables["$Project::FolderPath"].Value;
                    string[] aryFiles = Directory.GetFiles(dirPath);
                    List<string> lstFiles = new List<string>();
                    string fileFilterExpression = (string)Dts.Variables["User::vFilename"].Value;
                    Regex filenameRegEx = new Regex(fileFilterExpression);
                    foreach (string fileName in aryFiles)
                    {
                        Match match = filenameRegEx.Match(fileName);
                        if (match.Success) lstFiles.Add(fileName);
                    }
                    Dts.Variables["User::vFilelist"].Value = lstFiles.ToArray();
                    Dts.TaskResult = (int)ScriptResults.Success;
                }

Спасибо!

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