Несколько файлов Excel с использованием SSIS [duplicate]

Я добавил дополнение к ответам @AbraCadaver. Я включил скрипт javascript, который удалит запуск и закрытие тега php.

function dd($data){
  highlight_string("");
  echo '';
  die();
}

Результат до:

Может быть, / g5]

Результат после:

Теперь у нас нет php start и close tag

0
задан user1664644 5 November 2012 в 15:45
поделиться

3 ответа

Вы можете добиться этого, выполнив следующие шаги.

  1. Используйте перечислитель файлов foreach для вашей входящей папки и сохраните имя файла в переменной «IncomingFile». Настройте, чтобы выбрать «Имя и расширение» [В моем коде я использовал, что в противном случае вам нужно внести некоторые изменения в скрипт]
  2. Создать буксировочные переменные SSIS Как и «ArchivePath» в качестве строки и «IsLoaded» как Boolean [default to false].
  3. Создайте компонент сценария SSIS и используйте «IncomingFile» и «ArchivePath» как переменную readonly. «IsLoaded» должна быть переменной ReadandWrite.
  4. Напишите следующий код в компоненте скрипта. Если файл уже существует, он вернет true. В противном случае False.
    public void Main()
    {
        var archivePath = Dts.Variables["ArchivePath"].Value.ToString();
        var incomingFile = Dts.Variables["IncomingFile"].Value.ToString();
    
        var fileFullPath = string.Format(@"{0}\{1}",archivePath,incomingFile);
    
        bool isLoaded = File.Exists(fileFullPath);
    
        Dts.Variables["IsLoaded"].Value = isLoaded;
    
        Dts.TaskResult = (int)ScriptResults.Success;
    }
    
  5. Используйте предел приоритета для вызова задачи потока данных, а операция оценки должна быть «Выражение». В поле выражения поставьте что-то следующим образом. @IsLoaded==False

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

0
ответ дан Gowdhaman008 28 August 2018 в 20:26
поделиться

Чтобы начать, посмотрите здесь ответ: Перечисление файлов в папке с помощью задачи SSIS Script

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

0
ответ дан Community 28 August 2018 в 20:26
поделиться

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

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

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

0
ответ дан Dominic Goulet 28 August 2018 в 20:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: