Vev*_*eve 7 c# xml sql-server xsd ssis
我遇到了一个问题,我需要每天将一个巨大的XML(> 1Gb)导入SQL Server 2008.我现在拥有的是一个示例XML文件及其XML模式.XML模式非常复杂,包含许多自定义的简单类型,以及具有复杂类型的元素,例如:
<xs:element name="xxxx_url">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:anyURI">
<xs:attribute ref="target" use="optional"/>
<xs:attribute ref="abc" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
Run Code Online (Sandbox Code Playgroud)
导入后,将实现WCF服务以检索存储在SQL Sever中的数据,例如搜索,检索等(只读操作).
我能想到的实施步骤如下:
问题是这些步骤涉及大量的手工工作.我必须逐行研究XSD,并将其转换为对象模型和数据库模式mannualy.
我做了一些研究,有一些自动化工具可以将XSD转换为类,还可以将XSD转换为数据库模式.但是使用该工具从XSD转换的类非常混乱,并且转换为模式失败,因为它不符合MS数据集格式.
我想知道这个问题是否有任何好的解决方案,以节省大量的手工工作?
任何建议表示赞赏!
在某些时候你必须进行转变。无论是将 XML 读入对象还是表中的数据。该工作应该完成一次,然后您只需运行生成的过程即可。我看到的问题是:
XML 非常大。
您还没有将 XSD 映射到所需架构。
映射是您必须要做的工作。我认为如果您可以将 XSD 导入表中,然后从这些临时表导入到您希望使用的架构中,效果会最好。使用 XML 文件会因其大小而给您带来问题。
所以我的建议是强制/捏造将 XML 导入到任何可以工作的表结构中。然后编写一个存储过程将这些表中的数据“导入”到“真实”架构中。
帕特奥