Я пытаюсь заархивировать набор файлов от исходного пути до пути к архиву после того, как я выполнил некоторые элементы Задачи потока данных.
Внутри контейнера Петли Foreach у меня есть:
Задача сценария -> Задача потока данных -> Задача «Выполнить SQL» -> Задача файловой системы
У меня есть переменная User, настроенная на элемент «Имя и расширение» в настройках Collection в контейнере циклов Foreach. Переменная называется «fileName» и используется как в задаче «Сценарий» (используется для анализа информации из файла и выполнения задачи «Выполнение SQL»), так и в задаче «Поток данных» в диспетчере соединений с плоскими файлами, который, в свою очередь, используется элемент «Плоский файл». Затем я анализирую файл и вставляю данные в базу данных. Все работает как надо, пока я не доберусь до задачи файловой системы (FST).
Я хотел бы, чтобы файл был перемещен в папку архива после завершения его вставки.
Используя несколько ссылок онлайн ( здесь , здесь и здесь ), я добавил различные переменные, которые жестко запрограммированы или получены из массирования других переменных.
В любом случае происходит то, что на FST я получаю ошибки, такие как «недопустимые символы в пути» или «неизвестный путь».
Если я попытаюсь объединить приведенные выше примеры, чтобы они соответствовали структуре моей файловой системы, я теперь получаю сообщение об ошибке на шаге «Плоский файл» в задаче «Поток данных», в котором говорится, что не удается найти указанный файл. Это вызвано тем, что это
а) не может найти путь к файлу, потому что путь к файлу не указан, только имя_файла.ext
б) не может проанализировать переменную, которая содержит полный путь к исходному файлу (@FullSourcePathFileName
, значение которого установлено на @[User::SourcePath]
+ @[User::fileName]
)
Я протестировал другие различные модификации, включая выполнение именно того, что было в первом примере, который я опубликовал (однако на самом деле он ничего не делает с задачей потока данных, поэтому я просто добавил шаг источника плоских файлов без назначения) и получил то же самое множество ошибок. Я в недоумении и хотел бы узнать, как решить эту проблему.
EDIT:
Кажется, что он продолжает работать на FullArchivePathFileName
- он никогда не оценивает выражение, даже если у меня установлено значение «True». Все еще не понимают, почему он не оценивает его. Поэтому я сделал его выражение таким же, как FullSourcePathFileName
, и проверил, что для флага EvaluateAsExpression установлено значение True. Он по-прежнему не оценивает эту переменную. Переменная FullSourcePathFileName
оценивается очень хорошо.