005_SSIS 两种输出xml的方式

方式1:

使用平面文件源进行xml输出

005_SSIS 两种输出xml的方式_第1张图片

 

ole db sql为:

select (
SELECT [SalesOrderID]
,[SalesOrderDetailID]
,[OrderQty]
,[ProductID]
,[UnitPrice]
,[UnitPriceDiscount]
,[LineTotal]
,[rowguid]
,[ModifiedDate]
FROM [TS_BIWORK_SSIS_SRC].[dbo].[T009_SALES_ORDER_DETAIL] FOR XML RAW('SalesOrderDetail'),ROOT('SalesOrder'),ELEMENTS
) as xml

这样的目的是用sql转换为xml格式

数据转换将数据转换为文本流,最终输入到平面文件中

005_SSIS 两种输出xml的方式_第2张图片

 

 

方法二:

用c#脚本,将数据保存在xml 中

005_SSIS 两种输出xml的方式_第3张图片

 

 

 005_SSIS 两种输出xml的方式_第4张图片

 

 执行的sql如同方法一,将结果保存在变量reslut中

然后在脚本任务中获取变量

005_SSIS 两种输出xml的方式_第5张图片

 

 

 并用如下方法进行数据的保存

public void Main()
		{
			// TODO: Add your code here
            //User::filepath,User::reslut
            String filePath = Dts.Variables["User::filepath"].Value.ToString();
            String result = Dts.Variables["User::reslut"].Value.ToString();

            System.Xml.XmlDocument xml = new System.Xml.XmlDocument();
            xml.InnerXml = result;
            xml.Save(filePath);



			Dts.TaskResult = (int)ScriptResults.Success;
		}

  

你可能感兴趣的:(005_SSIS 两种输出xml的方式)