Я пытаюсь создать задачу файловой системы для копирования некоторых резервных файлов с одного сервера на другой. Проблема, с которой я столкнулась, - это конечная строка, временная метка, поэтому может меняться каждый день.Подстановочные знаки SEIS Expression
Поэтому я хочу игнорировать символы, прошедшие дату. Variable я до сих пор является
"\\\\192.168.100.201\\f\\Backups\\582499_backup_"
+ (DT_STR,4,1252)DATEPART("yyyy" , getdate()) + "_"
+ RIGHT("0" + (DT_STR,4,1252)DATEPART("mm" , getdate()), 2)
+ "_"
+ RIGHT("0" + (DT_STR,4,1252)DATEPART("dd" , getdate()), 2)
+".bak"
Это возвращает
\192.168.100.201\f\Backups\582499_backup_2016_12_07.bak
фактический файл имена 582499_backup_2016_12_07_030001_7282785.bak
Так что нужно игнорировать все прошло 07. Однако я не могу показаться, чтобы заставить его работать. Я попытался следующие
It ошибок, дающих ошибку
[File System Task] Error: An error occurred with the following error message: "Could not find file '\192.168.100.201\f\Backups\582499_backup_2016_12_07.bak'.".
Я часто нахожу задачу выполнения выполнения более полезной. Ниже приведен пример использования процесса execute для перемещения кучи файлов с помощью widlcards: https://mitchellpearson.com/2015/06/05/move-files-in-ssis-using-execute-process-task/ Вместо этого вы можете копировать используя COPY вместо перемещения. Вот еще один пример: http://stackoverflow.com/questions/23158909/copying-all-files-in-ssis-without-foreach –