SSIS-判斷資料的內容,寫出Txt檔到指到目錄

SSIS-判斷資料的內容,寫出Txt檔到指到目錄

本範例所使用的工具為
sql server 2008中的ssis,大部份與sql server 2005中的ssis都是一樣

另外我假設看這篇文章的人,已經知道怎麼連線資料庫了,所以這一段我就跳過不說了,若有新的朋友不知道要怎麼連的話,請參考我之前的文章哦!

範例說明:
我要做的範例為將送貨城市為高雄市的找出來,之後寫到文字檔

首先看一下sql指令的結果(以下的資料結果都是虛擬的,不是真實的,參考就好)

clip_image001
接下來回到ssis的開發介面,拉出一個”資料流程工作”

clip_image002

在”資料流程工作”按滑鼠右鍵,選編輯
接下來拉出一個oledb 資料來源

clip_image003

在拉出來的”oledb來源”按制項上按滑鼠右鍵,選編輯

clip_image004

在資料存取模式的地方選擇”sql 命令”,將剛才所輸入的sql指令貼上,並且預覽一下,看是否有看到資料

clip_image005

ok的話,”點選關閉”,點選”確定”,接下來,從資料流程目的地,拉出一個”一般檔案目的地”

clip_image006

接下來,把資料來源目的地的綠線拉到”一般檔案目的地”上,使其連接,如下圖

clip_image007

一樣在拉出來的”一般檔案目的地”,按滑鼠右鍵選編輯
在視窗中,點選”新增”

clip_image008

這裡我選擇”使用分隔符號”

clip_image009

按下”確定”之後,將會再開另一個視窗,我們須先指定這個text檔案是要放在哪,所以我們點選瀏覽(ps:這裡也可以是網芳的路徑哦,ex  //jay/doc/test.txt)

clip_image010

我自己已經有在c:下放了一個空白的test.txt檔了,所以直接選它

clip_image011

若你想要當每次匯到txt檔時的第一個為標題,則請記得要勾選”第一個資料列的資料行名稱”

clip_image012

接下來切換到”資料行”這個頁籤,可以看到預覽的畫面中標題都有出來了,因為我們有把綠色的線相連起來,所以他會自動去抓來源的欄位名稱,當中的內容都是空白的,若該txt檔中有資料的話,也會顯示在這個預覽畫面中

clip_image013

在”進階”這個頁籤中,你可以自己決定要顯示那些欄位,或不要那些欄位,也可以自行新增或刪除欄位哦

clip_image014

設定好後按下”確定”

接下來會回到檔案目的地編輯器的視窗,但會發現為什麼”還是無法按下確定呢?”,因為我們還必須要按下”對應”這個頁籤,之後”確定”這個按鈕才會是可以按的哦!

clip_image015

如下圖

clip_image016

按下確定後,回到主畫面,確定這二個控制項中都沒有出現clip_image017 ,不然一定是你某個地方設錯了哦,這樣是不行執行的,若出現如下圖,則表示都是設定成功的!

clip_image018

接下來,我們來執行看看吧,按下鍵盤的F5,或按下工具列上的clip_image019 來執行

以下為執行結果

clip_image020

接下來我我們按下工具列上的clip_image021 這個按鈕或按”shift+F5”來停止debug模式!

我們開啟text.txt這個檔案來看看吧!

clip_image022

ok,範例到此結束囉!

另外給個建議,盡量可以在資料中完成的就盡量在sql中完成,不然在ssis這也是花一些工夫來用控制項解決,當然不一定說不好啦,但這樣至少可以讓自己在使用ssis時花較少的時間除錯囉!

‧覺得文章不錯請給我一個『讚』作為鼓勵喔!