为什么 SSIS 文件系统任务没有将文件移动到我想要的位置
why SSIS File System Task is not moving the file where I want it
我正在尝试归档文件。图像中包含我的系统文件任务的设置。我正在尝试发送一个文件,其名称存储在循环中的一个变量中,并将该文件发送到必要的文件夹中。
该文件应该使用给定的文件名登陆 F:\DATA\ARCHIVE\WELLBORE\
。但是,它一直以名称 WELLBORE
登陆 F:\DATA\ARCHIVE
,这不是我要找的。
我还缺少什么?
谢谢
问题
问题是当你 select Move File
所以你必须 select 源完整文件路径和目标完整文件路径,所以目标变量应该包含目标完整路径(带文件名),如果变量包含文件夹路径,则文件夹名将被视为文件名并抛出异常。
解决方案
创建一个新变量 @[User::DestinationFile]
并为其分配以下表达式:
@[User::ArchiveFolder] + RIGHT( @[User::WellBoreFile] , FINDSTRING(REVERSE( @[User::WellBoreFile] ) , "\", 1) - 1)
此表达式会将文件名添加到目标路径。并将这个新变量用作 Destination
参考文献
我正在尝试归档文件。图像中包含我的系统文件任务的设置。我正在尝试发送一个文件,其名称存储在循环中的一个变量中,并将该文件发送到必要的文件夹中。
该文件应该使用给定的文件名登陆 F:\DATA\ARCHIVE\WELLBORE\
。但是,它一直以名称 WELLBORE
登陆 F:\DATA\ARCHIVE
,这不是我要找的。
我还缺少什么? 谢谢
问题
问题是当你 select Move File
所以你必须 select 源完整文件路径和目标完整文件路径,所以目标变量应该包含目标完整路径(带文件名),如果变量包含文件夹路径,则文件夹名将被视为文件名并抛出异常。
解决方案
创建一个新变量 @[User::DestinationFile]
并为其分配以下表达式:
@[User::ArchiveFolder] + RIGHT( @[User::WellBoreFile] , FINDSTRING(REVERSE( @[User::WellBoreFile] ) , "\", 1) - 1)
此表达式会将文件名添加到目标路径。并将这个新变量用作 Destination
参考文献