【发布时间】:2011-10-05 14:23:10
【问题描述】:
一旦我完成了一些数据流任务项目,我正尝试将一组文件从源路径归档到归档路径。 在 Foreach 循环容器内部,我有: 脚本任务 -> 数据流任务 -> 执行 SQL 任务 -> 文件系统任务
我在 Foreach 循环容器的集合设置下将用户变量设置为“名称和扩展名”项。该变量称为“fileName”,用于脚本任务(用于从文件中解析信息并执行执行 SQL 任务)以及平面文件连接管理器中的数据流任务,后者又由平面文件源元素。然后我解析文件并将数据插入数据库。在我执行文件系统任务 (FST) 之前,一切正常。
我希望在插入完成后将文件移至存档文件夹。
使用几个在线链接(here、here 和here)我添加了不同的变量,这些变量要么是硬编码的,要么是通过按摩其他变量而得出的。
无论如何,在 FST 上会出现“路径中的无效字符”或“未知路径”之类的错误。
如果我尝试调整上面链接的示例以适应我的文件系统结构,我现在在数据流任务中的平面文件源步骤中收到错误,指出它找不到指定的文件。这是因为它
a) 找不到文件的路径,因为没有给出文件路径,只有 filname.ext
b) 无法解析包含源文件完整路径的变量(@FullSourcePathFileName,其值设置为@[User::SourcePath] + @[User::fileName])
我已经测试了其他各种修改,包括完全按照我发布的第一个示例中的内容进行操作(但是那个实际上并没有对数据流任务做任何事情,所以我只是添加了一个没有目标的平面文件源步骤)并收到了相同的结果一组错误。我在这里不知所措,想了解如何解决这个问题。
编辑:
似乎它在FullArchivePathFileName 上一直失败 - 即使我将它设置为“True”,它也从不评估表达式。仍然对它为什么不评估它感到困惑。因此,我将其表达式设为与FullSourcePathFileName 相同,并验证 EvaluateAsExpression 标志设置为 True。它仍然没有评估这个变量。FullSourcePathFileName 变量的评估很好。
【问题讨论】:
标签: sql-server-2005 ssis