码迷,mamicode.com
首页 > 其他好文 > 详细

SSIS 系列 - 平面文件格式的区别(Delimited,Fixed width,Ragged Right, Fixed width ...)

时间:2014-08-12 00:20:53      阅读:336      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   使用   os   strong   文件   数据   

 

SSIS 中处理文件,一般在描述输出平面文件格式的时候通常会出现以下几种选项 -

  • Delimited - 默认输出列使用逗号分隔,也可以选择其它的诸如 | ,或者 Tab 等。
  • Fixed Width - 列定长输出,固定长度,但不换行。
  • Fixed Width with row delimiters - 其实就相当于 Ragged right,只不过换行符 CR+LF 的位置不同,这个是新的一列显示一个换行符。
  • Ragged right - 和上面的这个格式区别就是 CR+LF 换行符处于最后一列的位置。

bubuko.com,布布扣

哪几种比较常用?

按我个人经验,常用的顺序应该是 -

Delimited -> Ragged right -> Fixed width with row delimiters -> Fixed width,其中 Fixed width 至今没有使用过。


对于 Delimited,每一列输出的时候默认使用 ,号分隔,最后的一列跟换行符分隔。

bubuko.com,布布扣

bubuko.com,布布扣

输出文件的样式,并查看所有符号显示回车加换行 CR+LF -

bubuko.com,布布扣

 


Ragged right - 列定长输出,因此列之间是没有分隔符的。

bubuko.com,布布扣

只有在最后一列的时候有回车换行符。

bubuko.com,布布扣

实际输出效果中最后一列跟回车换行符,还要注意的就是当输出的实际列的宽度只有5的时候,比如 False 长度为5,但是在定长的时候如果考虑输出列标题,是需要参考列标题的长度的,否则输出报错。

bubuko.com,布布扣

 


Fixed width with row delimiters - 和 Ragged Right 表现差不多,只不过最后一列是额外添加的一列,专门用来标识回车换行。

bubuko.com,布布扣

bubuko.com,布布扣

 


Fixed width - 定长但是没有默认换行,这个效果就是所有数据一行展开。

bubuko.com,布布扣

我以前做个一个医疗保险项目,其中就有大量的这种类型的需求,这种文件格式由美国政府和一些医疗管理协会定义的,格式是统一的标准的。因此需要完全按照文件定义的格式去输出文件,这些文件有可能发送给某银行,银行就按照预先定义好的格式解析文件。比如像上面的两种定长输出和换行的位置,在有些文件格式中就有明确的要求和说明,因此理解以上几种文件输出格式,再以后碰到类似的需求的时候就很容易弄明白彼此之间的区别了。


更多 BI 文章请参看 BI 系列随笔列表 (SSIS, SSRS, SSAS, MDX, SQL Server)

如果觉得这篇文章看了对您有帮助,请帮助推荐,以方便他人在 BIWORK 博客推荐栏中快速看到这些文章。


 

SSIS 系列 - 平面文件格式的区别(Delimited,Fixed width,Ragged Right, Fixed width ...),布布扣,bubuko.com

SSIS 系列 - 平面文件格式的区别(Delimited,Fixed width,Ragged Right, Fixed width ...)

标签:style   blog   http   使用   os   strong   文件   数据   

原文地址:http://www.cnblogs.com/biwork/p/3905816.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!