Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在我的 SSIS 包中,我需要修改将在数据流执行的最后一步创建的平面文件名。目前,我需要通过脚本组件传输输入数据 + 对将形成平面文件组件连接字符串的变量进行代码修改。应该写入的实际数据集由 Merge Join 组件生成,并通过脚本组件 jsut 传输它以调用一个用户变量调整似乎是开销。
上述情况的最佳做法是什么?
如果文件名不依赖于数据中的任何内容,那么我将在控制流中使用脚本任务而不是数据流中的脚本组件来设置值。
如果文件名确实依赖于数据中的某些内容,那么脚本组件可能是获取该信息的最佳方式;但是,脚本组件不能更新方法ReadWrite之外的任何变量PostExecute(在处理完所有输入行之前不会发生);这意味着变量更改不会反映在输出文件的名称中。在这种情况下,我建议在数据流完成后使用文件系统任务重命名文件。
ReadWrite
PostExecute
我个人之后会使用重命名 DOS 命令。导出为固定文件名,然后重命名。对我来说它更简单。