在SSIS中,我試圖使用來自Web服務的數據創建一個csv文件。SSIS:使用可變數據從XML源創建CSV文件
在我的控制流中,我創建了一個Web服務任務,將其輸出保存到用戶變量中。
當Web服務任務完成時,它啓動一個數據流任務。
數據流任務具有單個XML源,其數據訪問模式設置爲「XML數據來自變量」,指向(假定)具有來自Web服務的XML數據的變量。
在DFT之前和之後設置斷點,證明該變量正在設置爲我期望的XML文本。
例如,XML看起來是這樣的(名稱變更爲保護專有信息):
<?xml version="1.0" encoding="utf-16"?>
<ArrayOfMyItemObject xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<MyItemObject>
<OrderID xmlns="http://webservices.mycompany.com/MyPath/">111111</OrderID>
<ItemID xmlns="http://webservices.mycompany.com/MyPath/">123456</ItemID>
</MyItemObject>
<MyItemObject>
<OrderID xmlns="http://webservices.mycompany.com/MyPath/">222222</OrderID>
<ItemID xmlns="http://webservices.mycompany.com/MyPath/">678901</ItemID>
</MyItemObject>
<MyItemObject>
<OrderID xmlns="http://webservices.mycompany.com/MyPath/">333333</OrderID>
<ItemID xmlns="http://webservices.mycompany.com/MyPath/">234567</ItemID>
</MyItemObject>
<MyItemObject>
<OrderID xmlns="http://webservices.mycompany.com/MyPath/">444444</OrderID>
<ItemID xmlns="http://webservices.mycompany.com/MyPath/">890123</ItemID>
</MyItemObject>
</ArrayOfMyItemObject>
這個數據流任務只是處理成一個平面文件目標(CSV文件)。平面文件中的列被映射到XML中的值。
但是,當我運行這個,我只獲得列名稱,並沒有數據。
我已驗證Web服務任務通過使用相同的Web服務運行另一個Web服務任務,但將該輸出直接放入文件中,從而返回所期望的內容。
你有什麼嘗試,只要調試?這裏沒有太多的信息可以繼續下去,這很危險地接近「不是真正的問題」。有了3401代表,您應該知道發佈更多細節。 –
當您查看數據流任務時,是否顯示來自數據源的0條記錄? –
@JeradRose:實際上,它沒有顯示任何東西(除了「成功」)。我希望我可以更具體一些,但我只是沒有通過我期望的數據獲取數據。 –