我的xml文件包含以下格式的数据:
<parent fieldone="good" valuetwo="100">
<employees>
<employeename>
</employee>
<customers>
<customername>
</customers>
</parent>
等
尝试使用SSIS将其作为复杂的xml导入,但我需要首先导入父元素属性中的数据,以便遵守foreignkey约束。
在xml导入源例程之前,我使用SSIS SQL数据任务来获取父级xml对应表的最高/最后一个id。然后我将该值+1应用于一个变量(称为ParentId),该变量用于其foreignkey字段中的所有子表。
然后将所有xml源输出映射到表,包括xml父级和相应的表。我依靠这个插入来创建我假设的id(即我赋给变量ParentId的id)
但导入失败是因为父输出没有先被处理,所以它永远不会插入那条记录,而我假设的parentid永远不会被生成。
是否有办法强制执行处理xml源输出的优先级或顺序?
答案 0 :(得分:0)
如果这有助于其他任何人。
我最终做的是使用xml任务(xslt)将文件拆分为两个,一个用于父文件,另一个用于子记录(父文件总是只有一个记录)。
然后我按顺序创建了两个xml源,第一个导入新创建的父xml,并使用相同的查询&amp;第一篇文章中提到的验证方法获得了正确的身份值。
然后在第二个xml源任务中的所有子记录中使用它。