小编Vev*_*eve的帖子

每天将巨大的XML数据(> 1Gb)导入SQL Server 2008

我遇到了一个问题,我需要每天将一个巨大的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中的数据,例如搜索,检索等(只读操作).

我能想到的实施步骤如下:

  1. 根据提供的XSD(手动)定义对象模型,对象模型将用于WCF服务返回值.
  2. 从提供的XSD(手动)定义数据库模式,该模式估计有大约20-30个表.
  3. 创建一个SSIS包,每天将XML加载到数据库中.
  4. 创建从数据库读取的WCF服务,将数据填充到步骤1中定义的对象模型中,并将对象返回给服务客户端.

问题是这些步骤涉及大量的手工工作.我必须逐行研究XSD,并将其转换为对象模型和数据库模式mannualy.

我做了一些研究,有一些自动化工具可以将XSD转换为类,还可以将XSD转换为数据库模式.但是使用该工具从XSD转换的类非常混乱,并且转换为模式失败,因为它不符合MS数据集格式.

我想知道这个问题是否有任何好的解决方案,以节省大量的手工工作?

任何建议表示赞赏!

c# xml sql-server xsd ssis

7
推荐指数
1
解决办法
3013
查看次数

标签 统计

c# ×1

sql-server ×1

ssis ×1

xml ×1

xsd ×1