有位網路上的朋友,在我的留言版留下了訊息,想要了解用ssis怎麼判斷資料的內容,並寫到一個text檔中,且還可以寫到自己指定的目錄中!

嗯..我稍微想了一下,大致上可以這樣做,如果該位網路上的朋友有看到本篇的話,看是否這個範例可否解答你的問題,看完後若有問題,可以留言來討論囉!

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

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

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

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

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

image

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

image

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

image

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

image 




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

image 

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

image

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

image

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

image

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

image

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

image

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

image

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

image

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

image

設定好後按下”確定”

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

image

如下圖

image

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

image

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

以下為執行結果

image

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

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

image

ok,範例到此結束囉!

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


arrow
arrow
    全站熱搜

    丫德 發表在 痞客邦 留言(14) 人氣()