SSIS-接Web Services後的Check資料方式

SSIS-接Web Services後的Check資料方式

這篇文章是以SSIS-如何接收web services的資料當做資料來源做轉檔這篇文章為基礎來說,所以本篇看不懂的,可以先看一下該篇文章 web services設定的部份,本篇文章就不再重覆說明

至於為什麼要做本篇文章呢!因為SSIS-如何接收web services的資料當做資料來源做轉檔這篇文章是直接在”指令碼元件”中設定,算是比較進階的部份,且不好除錯,因此先用”指令碼工作”做驗証資料抓下來對不對,有沒有問題!

先確認單純執行該web services的元件是成功的!

如下圖

clip_image001

接著從工具列拉出一個”指令碼工作”的元件

clip_image002

在”指令碼工作”中接滑鼠右鍵選編輯,圖中紅框的部份,請輸入接收你web services的object變數(我這裡自己定義的變數名稱為rs)

clip_image003

接下來,點”編輯指令碼”,在main()中輸入如下程式碼

clip_image004

		   1: '宣告一個xml物件
		   2:        Dim xmldoc As New Xml.XmlDataDocument
		   3:        '宣告一個MemoryStream接收web servies的資料變數,我是定義為rs
		   4:        Dim strm As New System.IO.MemoryStream(Text.UnicodeEncoding.Unicode.GetBytes(Dts.Variables("rs").Value.ToString()))
		   5:        '讀取stream的資料到dtaset
		   6:        xmldoc.DataSet.ReadXml(strm)
		   7:        '執行中秀出msgbox顯示資料表的第1列的第1欄資料--正式時執行後,要mark掉,不然的一個彈msgbox
		   8:        MsgBox(xmldoc.DataSet.Tables(0).Rows(0)(0).ToString)
		   9:        '執行中秀出總共抓出共筆--正式時執行後,要mark掉,不然的一個彈msgbox
		  10:        MsgBox(xmldoc.DataSet.Tables(0).Rows.Count)

接下來關閉這個編輯視窗,回到控制流程,執行看看,以下為執行結果,可以看到的我目前指令碼工作還在執行中,並且秀出一個msgbox出來

clip_image005

第二個msgbox秀出你的web serices共回傳幾筆給你

clip_image006

這樣你就可以知道你抓web services的資料是否是正確的

如果到這邊都沒有問題才能繼續進行SSIS-如何接收web services的資料當做資料來源做轉檔這篇文章的部份

這樣,客倌您看的懂嗎?

若有問題可以留言,大家來討論看看囉!

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