【问题标题】:Running a script component before writing data to a flat file in SSIS在将数据写入 SSIS 中的平面文件之前运行脚本组件
【发布时间】:2013-03-11 13:13:07
【问题描述】:

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

对于前面提到的情况,最佳做法是什么?

【问题讨论】:

  • 我会完全按照您的意愿去做。通过脚本组件修改变量(如果不能简单地作为变量表达式完成),然后将平面文件连接管理器的连接字符串属性设置为您修改的变量。开销可以忽略不计。

标签: sql-server ssis flat-file


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-27
      • 2011-01-18
      • 2018-07-26
      • 1970-01-01
      • 2013-05-02
      • 1970-01-01
      • 2016-08-31
      相关资源
      最近更新 更多