2010-03-30 77 views
0

我有一個xml文件,我必須使用ssis pacakge數據流寫入數據庫表的內容。SSIS(sql server集成服務)xml數據流

我正在使用xml源和oledb目的地。 (事件,產品,報價,表單)等 但我需要在一個數據行中寫入所有數據在數據庫中。

但我不知道如何使用這個多輸出,併爲一個事件做單行。

我可以閱讀大量關於此主題的文章,但無法做出決定。做這件事的正確方法是什麼。

1)xml source? (如果我用這個,我怎麼合併多個輸出)

2)或者一個腳本任務使用xml對象讀取和寫入數據庫。

還是什麼新東西?

請給我提供一些解決方案。其緊急。

XML樣本文件

<root> <event id="1000"><sponsor id="126" type="1">ABc.</sponsor><start_date>2009-06-07</start_date> <Some_date>2010-04-30</some_date><valid_region id="8">region</valid_region> <limit>test</limit> <contact_info>1 contact</contact_info> <offer id="10"> <offer_text>offertest</offer_text> <product id="11"><name>product1</name> </product><product id="12"><name>product1</name> </product></offer><form id="34"> <form_size>187</claim_form_size> </form></event</root> 

感謝

SNA

+0

你的目標表是什麼樣的? – grapefruitmoon 2010-03-30 14:48:00

回答

0

完全不同的方法是將XML字符串寫入到一個XML數據類型列的表。然後,您可以使用xml_preparedocument和OPENXML來查詢數據庫中的XML。我經常使用它來下載XML文件,並只提取我想要的當前報告的節點。這使我可以靈活地在未來需要時抽取更多節點,而無需現在就做。它還可以輕鬆拆分ETL,以便使用適當的數據加載不同的目標。例如,如果XML的一部分基本上是一個頭,而XML的其餘部分基本上是細節事務,則可以編寫一個存儲過程,將頭部提取到一個表,將細節提取到另一個表。讓我知道如果您想要了解如何做到這一點的更多細節,我可以爲您提供示例代碼。

相關問題