好久沒有碰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,希望有解答到小鐵匠網友的疑問嘍
留言列表