0
我有一個Web服務(* .amsx),我應該通過服務組件在SSIS包內調用它。解析從Web服務獲得的數據的最佳做法是什麼?
Web服務返回一些記錄,我的任務是解析每一條記錄,並通過查看其中一個字段(Action)來執行相應的操作。所以如果它包含值'add',我應該將該記錄插入到我的數據庫中,如果它包含'編輯',我應該更新其數據庫中的內容。
現在,我的問題是:解析數據時是否有這種情況下的最佳做法?
我有一個Web服務(* .amsx),我應該通過服務組件在SSIS包內調用它。解析從Web服務獲得的數據的最佳做法是什麼?
Web服務返回一些記錄,我的任務是解析每一條記錄,並通過查看其中一個字段(Action)來執行相應的操作。所以如果它包含值'add',我應該將該記錄插入到我的數據庫中,如果它包含'編輯',我應該更新其數據庫中的內容。
現在,我的問題是:解析數據時是否有這種情況下的最佳做法?
在SSIS中,做一個數據流,從數據源的第一部分獲取源數據。 接下來(在同一個數據流中),根據您所指的Action列的值進行條件拆分 - 這將把您的數據分析爲兩個獨立的流 - update,add/insert。
對於要插入的記錄,請執行oledb目標。
對於要更新的記錄,請執行oledb命令。
所有這些應該發生在單個數據流中。我建議在插入之前在目的地檢查是否存在「添加」記錄(按鍵),以免重複 - 也就是說,如果您將不止一次運行此程序包。
無論如何,這是一般的想法。
這種情況下可能會出現什麼樣的最佳做法?事實上,這是什麼情景?你打電話的服務怎麼樣? – 2012-02-18 12:58:43
我通過在VSTA項目中添加服務引用來調用該Web服務(正如我所說的,我使用服務組件) – odiseh 2012-02-19 04:42:09