【问题标题】:SSIS:File System Task 'Could not find file'SSIS:文件系统任务'找不到文件'
【发布时间】:2017-06-06 04:08:50
【问题描述】:

我正在开发一个 SSIS 项目,该项目通过网络下载文件并将数据上传到 sql server 中,然后将下载的文件移动到另一个文件夹。这是一张更清晰的图片

我有一个变量: Source_Folder 带有值:C:\Users\T-Aordiz\Documents\DumpDatas\Outbound Dump\Dump Success_Folder 值:C:\Users\T-Aordiz\Documents\DumpDatas\Outbound Dump\Success

For Each LoopExpressions:@[User::Source_Folder] , Variable Mappings: User::FileName(which is blank string)

这是我的文件系统任务

但是我遇到了这个错误信息

错误:0xC002F304 成功,文件系统任务:发生错误并显示以下错误消息:“找不到文件 'C:\Users\T-Aordiz\Documents\DumpDatas\Outbound Dump\Dump'。”。 任务失败:成功

我尝试更改File System Task 中的表达式,但也遇到了错误。帮帮我

【问题讨论】:

  • 您试图移动一个不存在的文件。是否要移动文件夹?

标签: sql-server ssis etl sql-server-data-tools ssis-2012


【解决方案1】:

源连接,

选项 1, 当使用Foreach File Enumerator - 'Retrieve file name'时,如果你选择Fully Qualified,它会给你一个完整的路径,这意味着@[User::Filename]包括文件夹和文件名以及扩展名。您可以将此变量用作源连接变量。

选项 2, 当使用Foreach File Enumerator - 'Retrieve file name'时,如果选择'Name and Extension',则意味着你必须创建另一个变量FilenameFullpath,表达式指定为@[User::Source_Folder] + "\" + @[User::Filename]。 (您始终可以在声明的文件夹末尾包含“\”。)

目标连接,

你可以只指定一个文件夹,不需要包含文件名和扩展名。

【讨论】:

    【解决方案2】:

    在文件系统任务中,您必须选择包含源文件名和目标文件名的变量,而不是文件夹。

    选择@[User::Filename]作为源并选择目标作为另一个包含目标文件路径的变量(不是文件夹,必须包括带扩展名的文件)

    您可以使用脚本任务或表达式任务生成目标值。通过连接源文件名(无路径)+目标文件夹

    注意@[User::Filename]应该映射到Foreach Loop container

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-12
      相关资源
      最近更新 更多