SSIS-汇出资料表到文字档使用固定宽度的怪解法
好久没有碰ssis了
这两天来自一位小铁匠的网友看了我的
http://yangxinde.pixnet.net/blog/post/28376733
这一篇文章后,想要使用固定宽度的方式汇出资料到txt,但汇出后却是整个变成只有一行
因此跟他了解一些原因后,自己也实作了这个这范例,照一般的设定方式汇出果然是都会变成只有一行
后来自己也问了google大神后,发现魔鬼藏在微软里(暗,又被阴了,这bug到现在最新版的ssdt 17.1也还是没有修)
假设我的资料来源如下
然后设定汇出目的地时,新增一个一般档案目的地
可以看到上图,在第一次新增时,有第三个选项,有资料列分隔符号的固定宽度,可是呢…按下ok后,若现在没有选到,之后要再选,也没有这个选项了,你说奇怪不奇怪
我一开始选固定宽度
然后我想要固定15字换行,当然在sql中也已经确定每行是15字
然后汇出后真的是只有一行
然后我想要调整成有资料列分隔符号的固定宽度的选项,但找不到
后来在微软的网站上找到了说明
https://technet.microsoft.com/zh-tw/library/ms188431(SQL.90).aspx
你说奇怪不奇怪,他说要用模拟的,好吧,我就先照著做看看
先选择不齐右的选项
上图是第一个栏位的设定
然后再照上图的操作顺序,新增一个空的栏位,都不用设定什么,按确定
会有警示号,再打开来设定一下
设定一下对应
照著这个做法,果然汇出txdt后是可以换行的
好了,以上 demo,希望有解答到小铁匠网友的疑问喽