在将数据写入SSIS中的平面文件之前运行脚本组件

时间:2013-03-11 13:13:08

标签: sql-server ssis flat-file

在我的SSIS包中,我需要修改在数据流执行的最后一步将被创建的平面文件名。目前,我需要通过脚本组件传输输入数据+对将形成平面文件组件连接字符串的变量进行代码修改。应该写入的实际数据集是由Merge Join组件生成的,并通过脚本组件jsut将其转换为调用一个用户变量调整似乎和开销。

前述情况的最佳做法是什么?

2 个答案:

答案 0 :(得分:1)

如果文件名不依赖于数据中的任何内容,那么我将在控制流中使用Script Task而不是数据流中的Script Component来设置值。

如果文件名 依赖于数据中的某些内容,则脚本组件可能是获取该信息的最佳方式;但是,脚本组件不能更新ReadWrite方法之外的任何PostExecute变量(在处理完所有输入行之前不会发生这种变量);这意味着变量更改将反映在输出文件的名称中。在这种情况下,我建议在数据流完成后使用文件系统任务重命名文件。

答案 1 :(得分:0)

我个人之后会使用重命名DOS命令。导出为固定文件名,然后重命名。对我而言,这更简单。