【问题标题】:SQL Server 2005 SSIS padding TAB-delimited resultsSQL Server 2005 SSIS 填充制表符分隔的结果
【发布时间】:2010-11-03 17:47:01
【问题描述】:

当我在 Management Studio 中执行一个简单的 SELECT * FROM... 查询(七列),然后将结果保存为制表符分隔的文本文件时,生成的文件会正确生成并分隔,但是当我运行相同的在 SSIS 中查询以生成相同的文本文件,它坚持用空格右填充所有 varchar 列。它分隔正确,但列值占用了它们整个列宽的空间,类似于固定宽度格式。

我尝试将文本文件数据连接设置为 ragged-right 而不是分隔符,但在这种情况下,它不允许我将 TAB 指定为分隔符。

我试图找出 SSIS 格式化输出与 Management Studio 输出的不同之处。

【问题讨论】:

  • 你能粘贴表格架构吗?
  • 它实际上是基于几个不同的表的视图。这些表中除一列之外的所有列都是 varchar,其中一列是 char。

标签: sql sql-server-2005 ssis


【解决方案1】:

您的 SSIS 设置听起来应该可以按您希望的方式工作。您应该能够选择分隔格式(不需要不规则的右侧)。

您能否检查源数据以查看值中是否有尾随空格?即使在 varchar 数据类型中也可以存在尾随空格。如果数据中有尾随空格,可以在源查询中使用RTRIM() 函数来消除它们。

【讨论】:

  • 数据中没有尾随空格。我对 Management Studio 的制表符分隔产品与 SSIS 制表符分隔的文本文件连接的差异感到非常困惑。我不明白为什么它们会产生不同的结果。他们不是都使用相同的库吗?
猜你喜欢
  • 2010-09-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多