【问题标题】:Data size difference in SSIS output and SSMS outputSSIS 输出和 SSMS 输出的数据大小差异
【发布时间】:2016-12-06 04:30:58
【问题描述】:

我有一个 SSIS 包,它使用 SQL 命令从数据库中提取数据,然后生成分隔文本文件 1452kb

我在 SSMS 上运行相同的查询并生成文本文件 1499kb

两个数据的行数相同,文件大小差异的原因和解决方法可能是什么

【问题讨论】:

  • 您确定文件完全相同吗?它们可能返回相同数量的行,但数据可能不同。
  • 也许一个文件是 UTF-8 而另一个不是?或者也许一个文件最后包含空行?还是每行末尾的额外空格?最后,也许它是微不足道的,比如一个文件中的不同换行符 (char(10) 和另一个文件中的 char(13)+char(10)?在一个像样的编辑器中打开这两个文件并打开隐藏字符 - 这应该会有所帮助澄清问题。
  • 请提供一组可重现的步骤,以便我们识别差异。

标签: sql-server ssis ssms etl


【解决方案1】:

假设文件包含相同的数据。有很多因素可以使尺寸不同:

  • 编码: 如果使用 Unicode,它可能会存储额外的数据,例如 The byte order mark (BOM)

  • 行分隔符: 这实际上只是关于哪些字节存储在文件中。 CR 是用于回车的字节码(从打字机时代开始),LF 类似地用于换行。它只是指作为行尾标记放置的字节。 CRLF 是两个字符的组合。

  • 空行: 有时数据导出器可能会在文件末尾添加空行

  • 标题: 如果一个文件包含列标题而另一个不包含列标题

希望对你有帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-20
    • 2021-07-04
    • 2013-12-25
    • 2014-03-15
    • 1970-01-01
    • 1970-01-01
    • 2011-03-18
    相关资源
    最近更新 更多