SSIS 中的文件系统任务

从 SSIS 包中的控制流选项卡,查看文件系统任务的公共部分中的 SSIS 工具箱,将其拖到你希望文件移动到包中的设计图面上。

StackOverflow 文档

放置任务后,双击打开它。

StackOverflow 文档

从这里开始,你需要先为任务命名。这有助于以后在你阅读查找错误的日志时,你可以在这些日志中按名称识别文件移动任务。就我而言,我将任务命名为 Move To Complete。

接下来,你有两个选项来定义源文件和目标文件。你可以在包中定义两个文件连接。然后为 IsDestinationPathVariable 和 IsSourcePathVariable 选择 False。然后,你将单击 DestinationConnection 和 SourceConnection 右侧的单元格,并从包中选择文件连接。我经常发现我在循环中移动任务,因此每个程序包执行需要移动多个文件。

如果你希望能够处理多个文件,请将 IsDestinationPathVariable 和 IsSourcePathVariable 更改为 true。然后你的文件系统任务编辑器将更改为如下图所示。

StackOverflow 文档

你需要在程序包中定义两个变量来保存完整的目标文件路径(目录结构和文件名)和完整的源文件路径。在我的情况下,我正在读取源文件的变量 XPR_ProcessingFileName 和目标文件的 XPR_CompleteFileName。

最后,请注意 Operation 是重命名文件而不是移动文件,因为在我的系统中,我们将日期戳附加到文件名的末尾,以便在 ETL 处理它们时进行标记。如果你愿意,也可以将此选项更改为移动文件,但将文件从一个文件路径重命名为另一个文件路径是一个移动。