SSIS 批量导入远程多级别的XML数据源。
<div id="cnblogs_post_body">看看我们SSIS的流程图http://pic002.cnblogs.com/images/2012/99430/2012081819250876.jpg
大概的流程是这样的:
先用执行SQL 任务,返回XML数据源的ResultSet, 再用Foreach容器,遍历每个XML数据源,在数据流任务里实行,合并连接和排序等处理,最终插入到database。
详细步骤
首先用储存过程生成远XML数据源的链接, 例:
http://www.abc.com/xml.php?p_checkin=18-Aug-12&p_checkout=18-Sep-12&p_hotel=BJJD
http://www.abc.com/xml.php?p_checkin=18-Aug-12&p_checkout=18-Sep-12&p_hotel=BDJD
http://www.abc.com/xml.php?p_checkin=18-Aug-12&p_checkout=18-Sep-12&p_hotel=SZXSW
....
例如看下图的 Hotel_Rate
http://pic002.cnblogs.com/images/2012/99430/2012081819025842.jpg
用浏览器打开,这些XML的返回结果一般是这样的, 多级的。
<div class="cnblogs_code"><?xml version="1.0" encoding="UTF-8"?><QRATE><XML_RESULT> <CONTRACTS> <CONTRACT>HC10000068</CONTRACT> <VER>26</VER> <HOTEL>BJJD</HOTEL> <HOTELNAME>北京酒店</HOTELNAME> <CUR>RMB</CUR> <PRODUCT> <PROD>15</PROD> <NATION>ALL</NATION> <NATIONNAME>全部国籍</NATIONNAME> <MIN>1</MIN> <MAX>99</MAX> <ADVANCE>0</ADVANCE> <TICKET>0</TICKET> <CANCEL>1</CANCEL> <CUTOFF>4</CUTOFF> <ROOM> <CAT>D3</CAT> <TYPE>D</TYPE> <SERV>10</SERV> <BF>2</BF> <DEADLINE>18-08-12</DEADLINE> <STAY> <STAYDATE>18-08-12</STAYDATE> <PRICE>650</PRICE> <ALLOT>5</ALLOT> <IS_ALLOT>N</IS_ALLOT> </STAY> </ROOM> <ROOM> <CAT>D3</CAT> <TYPE>S</TYPE> <SERV>10</SERV> <BF>1</BF> <DEADLINE>18-08-12</DEADLINE> <STAY> <STAYDATE>18-08-12</STAYDATE> <PRICE>650</PRICE> <ALLOT>5</ALLOT> <IS_ALLOT>N</IS_ALLOT> </STAY> </ROOM> <ROOM> <CAT>D3</CAT> <TYPE>T</TYPE> <SERV>10</SERV> <BF>2</BF> <DEADLINE>18-08-12</DEADLINE> <STAY> <STAYDATE>18-08-12</STAYDATE> <PRICE>650</PRICE> <ALLOT>5</ALLOT> <IS_ALLOT>N</IS_ALLOT> </STAY> </ROOM> </PRODUCT> </CONTRACTS> <RETURN_CODE>0</RETURN_CODE> <ERROR_MESSAGE/></XML_RESULT></QRATE>
页:
[1]