0

我有两个 XML 文件accepted.XMLrejected.XML它们具有相似的结构。这些文件的节点之一是CLIENT_CLAIM_NUM

如果CLIENT_CLAIM_NUM来自accepted.xml,我需要更新一个具有相应状态的SQL Server 表作为接受。被拒绝的.xml 也是如此。我接受的.XML 具有以下结构:

Accepted.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>

另外,如何通过邮件发送每个文件中的索赔编号计数?

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

4

1 回答 1

0

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

更新 MyTable SET Claim_Num = ?

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

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

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

于 2012-11-08T01:29:53.313 回答