在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:实际上,它没有显示任何东西(除了“成功”)。我希望我可以更具体一些,但我只是没有通过我期望的数据获取数据。 –