繁体   English   中英

如何从XSD架构构建数据库并导入XML数据

[英]How to build a database from an XSD schema and import XML data

我有一个复杂的XSD架构和数百个符合该架构的XML文件。

如何自动创建相关的SQL Server表来存储XML数据?

我已经考虑过使用xsd.exe工具从XSD模式创建C#类,让Subsonic这样的人弄清楚如何用它来创建一个闪亮的数据库,但是不确定是否是处理它的最佳方法。

有没有人设法将XSD文件优雅地导入SQL Server?

一个具有良好答案的类似问题: 如何从XSD文件创建数据库表?

我建议您使用SQL Server 2008或2005附带的SQL Server集成服务(或者如果使用2000,则使用数据转换服务)。

不幸的是,它没有免费的“ Express”版本的SQL Server,但是SQL Server Developer版本的价格不到$ 100,它具有完整的SQL Server Standard功能,可以满足您的需求。

SSIS是一个重要的话题,在这里我不会讨论所有的风吹草动,但基本上是您:

  • 使用BIDS(Business Intelligence Development Studio,SSIS附带的经过修改的Visual Studio)创建一个新的SSIS项目。
  • 将新的数据流任务拖到“控制流”表面上,然后单击“数据流”选项卡。
  • 将“ XML源”从工具箱拖到数据流面板中,然后配置XSD和XML文件位置。
  • 将ADO.NET数据目标从工具箱拖到数据流上,并将XML源的输出之一连接到ADO.NET目标的输入。 如果要基于xml模式的数据输出创建新表,而不是使用现有表,则在ADO.NET Destination中指定连接管理器设置时单击“新建”,它会生成并执行适当的创建表声明。 对XML源中的任何其他输出重复此操作(从架构生成的每个逻辑平面表都将有一个输出)。

您很可能需要先使用其他数据转换对象来转换数据,然后再将数据加载到SQL Server中,但这就是它的基本要旨。 如果您需要为大量XML文件运行该过程,则可以将任务置于控制循环中,并使用变量来设置XML文件位置。

有关在SSIS中使用XML源的MS文档位于: http : //msdn.microsoft.com/zh-cn/library/ms140277( v=SQL.100) .aspx

根据该网站,刚刚在Sourceforge上找到了XSD2DB

XSD2DB是用C#编写的命令行工具,它将读取与Microsoft ADO.NET兼容的数据集架构文件(XSD)并生成数据库。

检查出来。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM