Sql server 如何使用SSIS包处理XML文件和更新表?

Sql server 如何使用SSIS包处理XML文件和更新表?,sql-server,ssis,Sql Server,Ssis,我有两个结构相似的XML文件accepted.XML和rejected.XML。这些文件的一个节点是客户端\u索赔\u NUM 如果CLIENT\u CLAIM\u NUM来自accepted.xml,我需要更新一个SQL Server表,其相应状态为accepted。被拒绝的.xml也是如此。My accepted.XML具有以下结构: 接受的.xml文件布局: 1. 434772 ######### 2012-01-06T00:00:00 另外,如何通过邮件发送每个文件中的索赔编号计数

我有两个结构相似的XML文件
accepted.XML
rejected.XML
。这些文件的一个节点是客户端\u索赔\u NUM

如果
CLIENT\u CLAIM\u NUM
来自accepted.xml,我需要更新一个SQL Server表,其相应状态为accepted。被拒绝的.xml也是如此。My accepted.XML具有以下结构:

接受的.xml文件布局:

1.
434772
######### 
2012-01-06T00:00:00
另外,如何通过邮件发送每个文件中的索赔编号计数


我使用数据流任务和XML源解析XML。它将节点作为列提供,但如何将其存储在变量中或使用这些列更新表。我不能使用暂存表,因为我希望所有这些都在一个包中

要更新表,请将输出数据流路径连接到OLE DB命令转换。构造一个参数化的update语句,例如

更新MyTable集合声明\u Num=

然后在列映射选项卡上映射列(在 OLE DB命令转换)。您可以根据需要添加其他参数并将其映射到其他列

要将值存储在变量中,请首先定义一个数据类型为Object的变量。然后将输出数据流路径连接到记录集目标,并指定该变量。注意,这实际上是一个包含所有行和列的表


为了获得一个特定的单元格,接下来向控制流(现有数据流任务的下游)添加一个Foreach循环容器。将枚举数设置为Foreach ADO枚举数。将变量指定为ADO对象源变量。然后在“变量映射”选项卡上,为输出中的每列定义新变量。现在,Foreach循环容器中的任何任务都将使用循环每次迭代中每一行的值来分配这些变量。

@Siva:感谢您的回复。我使用数据流任务和XML源解析XML。它将节点作为列提供,但如何将其存储在变量中或使用这些列更新表。我不能使用暂存表,因为我希望所有这些都在一个包中
 <CLAIM> 
      <CLIENT_CLAIM_NUM>1</CLIENT_CLAIM_NUM> 
      <Vendor_ASSIGNED_CLAIM_NUM>434772</Vendor_ASSIGNED_CLAIM_NUM> 
      <LASTNAME>#########</LASTNAME> 
      <Date>2012-01-06T00:00:00</Date>
 </CLAIM>