【问题标题】:why SSIS File System Task is not moving the file where I want it为什么 SSIS 文件系统任务没有将文件移动到我想要的位置
【发布时间】:2017-12-09 01:24:48
【问题描述】:

我正在尝试归档文件。图像中包含的是我的系统文件任务的设置。我正在尝试发送一个名称存储在循环内的变量中的文件,并将该文件发送到必要的文件夹中。

该文件应该使用给定的文件名登陆F:\DATA\ARCHIVE\WELLBORE\。但是,它一直以名称WELLBORE 登陆F:\DATA\ARCHIVE,这不是我要找的。​​p>

我缺少什么? 谢谢

【问题讨论】:

    标签: sql-server variables ssis expression etl


    【解决方案1】:

    问题

    问题是当您选择 Move File 时,您必须选择源完整文件路径和目标完整文件路径,因此目标变量应包含目标完整路径(带有文件名),如果变量包含文件夹路径,文件夹名会被认为是文件名,会抛出异常。

    解决方案

    创建一个新变量@[User::DestinationFile] 并为其分配以下表达式:

    @[User::ArchiveFolder] + RIGHT( @[User::WellBoreFile] , FINDSTRING(REVERSE( @[User::WellBoreFile] ) , "\\", 1) - 1)
    

    此表达式会将文件名添加到目标路径。并将这个新变量用作目的地


    参考文献

    【讨论】:

    • 嗨哈迪...感谢您的回答,但我所拥有的是@[Project::SourceFolder] + "\\WELLBORE\\" 作为表达式。这会改变事情吗?我有几个反映主源文件夹的不同子文件夹的作业。在这项工作中,它是一个 WELLBORE 子文件夹。
    • @arcee123 啊,我想念 Scop 的不同之处。我从我的回答中删除了这个注释。更改操作类型是否解决了您的问题?
    • 没有。它出错了,因为该文件夹与旧文档一起存在。另外,仅供参考:SourceFolder 变量是文件的实际文件夹/文件位置。
    • @arcee123 在 foreach 循环中将文件路径映射到它的变量是什么
    • 就是这样。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多