我正在开发一个SSIS项目,该项目通过Web下载文件并在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 Loop
值
Expressions:@[User::Source_Folder] , Variable Mappings: User::FileName(which is blank string)
这是我的文件系统任务
但是我遇到此错误消息
错误:0xC002F304成功,文件系统任务:出现以下错误消息时出错:“找不到文件'C:\ Users \ T-Aordiz \ Documents \ DumpDatas \ Outbound Dump \ Dump'。”。 任务失败:成功
我尝试更改File System Task
中的表达式,但也遇到了错误。帮帮我们
答案 0 :(得分:3)
来源连接,
选项1,
使用Foreach File Enumerator
- '检索文件名'时,如果选择完全合格,则会为您提供完整路径,这意味着@[User::Filename]
包含带扩展名的文件夹和文件名。您可以将此变量用作源连接变量。
选项2,
使用Foreach File Enumerator
- '检索文件名'时,如果选择'名称和扩展程序',则表示您必须创建另一个变量FilenameFullpath,表达式指定为@[User::Source_Folder] + "\" + @[User::Filename]
。 (您可以随时在声明的文件夹末尾包含" \")
目的地连接,
您只需指定一个文件夹,无需包含文件名和扩展名。
答案 1 :(得分:2)
在文件系统任务中,您必须选择包含源文件名和目标文件名而不是文件夹的变量。
选择@[User::Filename]
作为来源,并选择目的地作为包含目标文件路径的另一个变量(不是文件夹,必须包含带扩展名的文件)
您可以使用脚本任务或表达式任务生成目标值。通过连接源文件名(无路径)+目标文件夹
请注意,@[User::Filename]
应该映射到Foreach Loop container