這篇文章是以SSIS-如何接收web services的資料當做資料來源做轉檔這篇文章為基礎來說,所以本篇看不懂的,可以先看一下該篇文章 web services設定的部份,本篇文章就不再重覆說明
至於為什麼要做本篇文章呢!因為SSIS-如何接收web services的資料當做資料來源做轉檔這篇文章是直接在”指令碼元件”中設定,算是比較進階的部份,且不好除錯,因此先用”指令碼工作”做驗証資料抓下來對不對,有沒有問題!
先確認單純執行該web services的元件是成功的!
如下圖
接著從工具列拉出一個”指令碼工作”的元件
在”指令碼工作”中接滑鼠右鍵選編輯,圖中紅框的部份,請輸入接收你web services的object變數(我這裡自己定義的變數名稱為rs)
接下來,點”編輯指令碼”,在main()中輸入如下程式碼
'宣告一個xml物件
Dim xmldoc As New Xml.XmlDataDocument
'宣告一個MemoryStream接收web servies的資料變數,我是定義為rs
Dim strm As New System.IO.MemoryStream(Text.UnicodeEncoding.Unicode.GetBytes(Dts.Variables("rs").Value.ToString()))
'讀取stream的資料到dtaset
xmldoc.DataSet.ReadXml(strm)
'執行中秀出msgbox顯示資料表的第1列的第1欄資料--正式時執行後,要mark掉,不然的一個彈msgbox
MsgBox(xmldoc.DataSet.Tables(0).Rows(0)(0).ToString)
'執行中秀出總共抓出共筆--正式時執行後,要mark掉,不然的一個彈msgbox
MsgBox(xmldoc.DataSet.Tables(0).Rows.Count)
接下來關閉這個編輯視窗,回到控制流程,執行看看,以下為執行結果,可以看到的我目前指令碼工作還在執行中,並且秀出一個msgbox出來
第二個msgbox秀出你的web serices共回傳幾筆給你
這樣你就可以知道你抓web services的資料是否是正確的
如果到這邊都沒有問題才能繼續進行SSIS-如何接收web services的資料當做資料來源做轉檔這篇文章的部份
這樣,客倌您看的懂嗎?
若有問題可以給我迴響,大家來討論看看囉!