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

问题描述 投票:29回答:8

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

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

这与Create DB table from dataset table不同,因为我没有数据集表,但是有XSD。

.net sql database xsd code-generation
8个回答
23
投票

商业产品:Altova的XML Spy

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

虽然您可以尝试“自动”执行此操作,但在设计XSD时必须考虑到关系数据库,否则将无法正常工作。

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

[在那里,完成了。租用工作-没有可用的开源。


42
投票

有一个名为XSD2DB的命令行工具,可以从xsd文件生成数据库,可从sourceforge获得。


8
投票

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

至少那是我在工作中的工作方式,因此,我有时间挂出SO了:)


4
投票

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

XSLT可能是准确生成所需代码的最快方法。如果它是一个小的模式硬编码,它可能比评估和使用大量新技术要快。


4
投票

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

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

希望有帮助。


0
投票

使用Axis wsdl2java创建Java模型(可以接收.xsd文件)。

使用Java模型生成Java模型的数据库生成工具。当然像Hibernate这样的东西可以做到吗?我写了自己的工具(花了几天时间,也用Java生成了CRUD代码),以节省工作时间,也许这将是一个不错的个人项目?

或只是手动进行操作,以便您可以检查所有内容正确无误!数据库工具已经足够好,现在您可以为模型创建表而无需过多问题。


0
投票

也许看一下Visual Studio 2k8中的XSD工具...我已经从xsd创建了一个关系数据集,它可能会以某种方式帮助您。


0
投票

hyperjaxb(版本2和3)实际上生成了休眠映射文件和相关的实体对象,并且还对给定的XSD和示例XML文件进行了往返测试。您可以捕获日志输出并亲自查看DDL语句。我必须对它们进行一些调整,但是它为您提供了一个基本的蓝图。

© www.soinside.com 2019 - 2024. All rights reserved.