如何从XSD文件创建数据库表?

Ode*_*ded 28 .net sql database xsd code-generation

我有一组XSD,我可以从中生成数据访问类,存储过程等等.

我没有的是从这些生成数据库表的方法 - 是否有一个工具可以为我生成DDL语句?

与数据集表中的创建数据库表不同,因为我没有数据集表,而是XSD.

Spo*_*ike 42

有一个名为XSD2DB的命令行工具,它可以从xsd文件生成数据库,可以在sourceforge上找到.

  • System.Data.DataException:未定义的数据类型:'token'. (2认同)
  • 我意识到这个问题已经死了,但我做了一些挖掘,发现 XSD2DB 抛出此类异常的原因是因为它使用“DataSet”来解释 XML 模式,而它应该使用“XmlSchemaSet”或“XmlSchema”来解释编译和操作模式文件。然而,该代码非常依赖于“DataSet”实现,因此我没有深入修改它以使其发挥作用。 (2认同)

S.L*_*ott 22

商业产品:Altova的XML间谍.

请注意,这没有通用的解决方案.XSD可以轻松描述不映射到关系数据库的内容.

虽然您可以尝试"自动化"这一点,但您的XSD必须考虑到关系数据库,否则效果不佳.

如果XSD具有不能很好地映射的功能,则必须(1)设计某种映射,然后(2)编写自己的应用程序以将XSD转换为DDL.

去过也做过.招聘工作 - 没有可用的开源.


Rob*_*uld 8

我使用XSLT来做到这一点.编写XSD,然后通过手写的XSLT传递数据模型,输出SQL命令.编写XSLT比您编写的自定义程序/脚本更快,更可重用.

至少那就是我在工作中如何做到这一点,并且由于我有时间在SO上闲逛:)

  • 你有没有_any sample_使用***XSLT***?http://stackoverflow.com/help/how-to-answer (5认同)

小智 6

使用 XSD 文件创建 SQL 数据库模式的最佳方法是一个名为 Altova XMLSpy 的程序,这非常简单:

  1. 创建一个新项目
  2. 在 DTDs / Schemas 文件夹上右键单击并选择添加文件
  3. 选择 XSD 文件
  4. 双击打开添加的XSD文件
  5. 转到工具栏并查看转换
  6. 他们选择从 XML 模式创建结构数据库
  7. 选择数据源
  8. 最后让它导出路由调用,立即将它们的脚本架构留给 SQL Server 来执行查询。

希望能帮助到你。

  • @ChrisMarisic 如果您只是打开 XML 间谍并检查转换菜单,它将显示仅从数据库选项创建 XML 模式。您需要做的是,首先在 xml spy 中打开您的 xml 架构文件,然后您可以选择许多选项,包括从 XML 架构创建数据库结构。希望这对其他人有帮助。 (2认同)

BeW*_*ned 5

XML 模式描述层次结构数据模型,可能无法很好地映射到关系数据模型。将 XSD 映射到数据库表与将对象映射到数据库表非常相似,事实上您可以使用像 Castor 这样的框架来完成这两个任务,它允许您采用 XML 模式并生成类、数据库表和数据访问代码。我想现在有很多工具可以做同样的事情,但是会有一个学习曲线,并且默认映射很可能不是您想要的,因此您必须花时间自定义您使用的任何工具。

XSLT 可能是准确生成您想要的代码的最快方法。如果它是一个小型模式硬编码,它可能比评估和学习一堆新技术更快。