【问题标题】:SSIS Flat File destination add trailing spaces to columnsSSIS平面文件目标向列添加尾随空格
【发布时间】:2018-04-11 16:12:20
【问题描述】:

我对 SSIS 开发相当陌生。我正在开发一个 SSIS 包,它执行一个存储过程,然后将结果输出到一个平面文件。

我有一个要求,其中我需要有固定大小的列,所以如果特定列的长度小于预期长度,我需要用空格填充或填充它,以便长度匹配。

根据我的研究,似乎引入了一个自定义脚本组件,因为转换可以为我做到这一点。

如果有人能建议这是否是实现这一目标的唯一方法,或者是否有更好的替代方案,我只是在这里想念,那就太好了。

非常感谢任何帮助。

【问题讨论】:

  • 当你创建平面文件连接时,你可以选择固定宽度,这不是解决你的问题吗?
  • @FLICKER 我遇到的问题是 DB 中列的大小例如为 10,我希望它在平面文件中的大小为 50。我需要填写那么多空格字符使其在平面文件中的大小为 50。
  • 让我添加一个答案来解释

标签: sql-server ssis


【解决方案1】:

创建平面文件连接时,可以指定“固定宽度”选项。

然后在高级部分,您可以指定每个字段的大小。 SSIS,将为每个字段添加空间以达到指定的大小。

根据需要更改InputColumnWidthOutputColumnWidth

【讨论】:

  • 感谢您的回答。我之前曾尝试过,但问题是由于 SQL DB 中的列大小较小,因此不允许我在这里增加它。
  • 就像@Flicker说的一样,还要把每一列的数据类型改为DT_STR(或DT_WSTR,视情况而定)。一切都必须是字符数据以允许空格填充。
  • @EricBrandt 它不允许我更改大小,一旦我更改它就会以某种方式设置回原始长度。我怀疑这是因为 DB 中列的实际长度很小。
  • 包括输出列?那就是要设置你的平面文件的那个。输入大小由实际数据决定,但您应该能够配置输出。
  • 是的,我尝试更改输出列中的大小,它以某种方式将其设置回原来的大小。但是,我使用脚本组件转换实现了它。我只想检查是否还有其他实现这一目标的简单替代方案。谢谢
猜你喜欢
  • 2019-10-28
  • 1970-01-01
  • 2014-08-13
  • 1970-01-01
  • 1970-01-01
  • 2018-08-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多