我创建了一个ssis包来将备份文件从c:location移动到E位置:
source file path: C:\Backup\A\xxx.bak
destination file path: E:\DB Backups\A\xxx.bak
我使用了foreachloop容器并创建了两个变量:sourcefileV
和destinationV
,并使用文件系统任务重命名文件。但是,在将文件移动到目标文件后,该程序包可以运行,该文件不在E:\DB Backups\A
的子文件夹E:\DB Backups
中。我必须手动剪切并将其移动到子文件夹。有没有办法直接将文件移动到ssis包中的目标子文件夹?
谢谢,
答案 0 :(得分:0)
您可以创建两个变量@[User::DestinationFolder]
和@[User::SourceFolder]
。
@[User::SourceFolder] = C:\Backup\
@[User::DestinationFolder] = E:\DB Backups\
您可以使用以下表达式创建目标文件夹路径。
@[User::DestinationFolder] + SUBSTRING(REPLACE(@[User::SourceFileV],@[User::SourceFolder],""),1, LEN(REPLACE(@[User::SourceFileV],@[User::SourceFolder],"")) - FINDSTRING(REVERSE(@[User::SourceFileV]),"\\",1))
您可以使用以下表达式来获取目标文件路径
@[User::DestinationFolder] + REPLACE(@[User::SourceFileV],@[User::SourceFolder],"")
首先,您必须添加Execute File System Task
来创建目标目录。然后,您必须添加第二个Execute File System Task
来复制文件。