我有一个相当复杂的XML文档,我想将其简化为Server 2005中的表。我不想手工编写每个字段和表的映射代码。数据进入数据仓库的暂存区域,所以表的结构没有多大关系。
到目前为止,我已经考虑过,并拒绝了以下.
OpenXML --我似乎可以使用这种方法将xml读入到sql中的内存中,但是必须编写大量的sql才能执行所有的插入。不用了谢谢。
XML批量加载--看起来不错,但我的印象是,我应该编写一个XSD,详细说明所有的关系。当xml的层次结构中隐含了它们时,我不明白为什么要这样做。
SqlBulkCopy --看起来我还得写所有的映射东西。
在拒绝了所有这些之后,我正在考虑在C#中使用我自己的产品,这个想法看起来很简单。将数据读入xmlReader中,然后遍历树并生成插入。我可以有一个单独的操作,它只在开发时运行以生成模式。
对此有什么想法吗?
发布于 2009-08-25 14:20:23
在这种情况下,最终的答案变得更加简单.
通过查看需求的细节,即使数据是高度结构化的,我们所需要的部分也可以用一个表来表示。因此,我可以对xml运行xslt转换,为我提供一组直接进入表的行和列。在这种情况下通过SSIS。
发布于 2009-08-25 13:13:51
在SQL 2005中使用新的XML支持。在早期版本中,它比OPENXML要好得多。你不需要xsd的东西。
在某种程度上,你需要一个映射。XML可能是自描述的,但数据库表不是.
https://stackoverflow.com/questions/1328173
复制相似问题