我正在尝试创建文件系统任务以将一些备份文件从一台服务器复制到另一台服务器。我遇到的问题是结束字符串是时间戳,因此可以每天更改。SSIS表达式通配符
所以我想忽略通过日期的字符。变量i至今是
"\\\\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.不过,我似乎无法名让它工作。我试过以下
它的错误给错误
[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'.".
我经常发现执行过程任务更有用。以下是使用执行过程使用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 –