处理完文件后,如何将文件移动到存档文件夹?

时间:2011-07-14 18:21:33

标签: sql-server-2005 ssis

我正在尝试将一组文件从源路径归档到归档路径,一旦我完成了一些数据流任务项。 在Foreach循环容器内部,我有: 脚本任务 - >数据流任务 - >执行SQL任务 - >文件系统任务

我有一个User变量设置为Foreach循环容器中Collection集合下的“Name and extension”项。该变量称为“fileName”,用于脚本任务(用于解析文件中的信息并执行执行SQL任务)以及平面文件连接管理器中的数据流任务,而后者又用于平面文件源元素。然后我解析文件并将数据插入数据库。一切正常,直到我进入文件系统任务(FST)。

我想要的是在插入完成后将文件移动到存档文件夹。 在线使用多个链接(hereherehere)我添加了不同的变量,这些变量要么是硬编码的,要么是通过按摩其他变量得出的。 在任何情况下,会发生的事情是在FST上我得到的错误包括“路径中的无效字符”或“未知路径”。 如果我尝试按下上面链接的示例以适应我的文件系统结构,我现在在数据流任务中的平面文件源步骤上收到错误,指出它无法找到指定的文件。这是因为它造成的 a)找不到文件的路径,因为没有给出文件路径,只有filname.ext b)无法解析包含源文件的完整路径的变量(@FullSourcePathFileName,其值设置为@[User::SourcePath] + @[User::fileName]

我已经测试了其他各种修改,包括完全按照我发布的第一个示例(但实际上没有做任何数据流任务,所以我只是添加了一个没有目标的平面文件源步骤)并收到相同的一组错误。我在这里感到茫然,并希望得到关于如何解决这个问题的任何意见。

编辑: 似乎它一直在FullArchivePathFileName上失败 - 它永远不会评估表达式,即使我将它设置为'True'。仍然混淆为什么它没有评估它。所以我使其表达式与FullSourcePathFileName相同,并验证了EvaluateAsExpression标志设置为True。它仍然没有评估这个变量。FullSourcePathFileName变量正在被评估得很好。

1 个答案:

答案 0 :(得分:62)