我有一组XSD,可从中生成数据访问类,存储过程等。
我所没有的是一种从这些生成数据库表的方法-有没有一种工具可以为我生成DDL语句?
这与Create DB table from dataset table不同,因为我没有数据集表,但是有XSD。
商业产品:Altova的XML Spy。
请注意,对此没有通用的解决方案。 XSD可以轻松描述未映射到关系数据库的内容。
虽然您可以尝试“自动”执行此操作,但在设计XSD时必须考虑到关系数据库,否则将无法正常工作。
如果XSD的功能不能很好地映射,则必须(1)设计某种映射,然后(2)编写自己的应用程序以将XSD转换为DDL。
[在那里,完成了。租用工作-没有可用的开源。
有一个名为XSD2DB的命令行工具,可以从xsd文件生成数据库,可从sourceforge获得。
我使用XSLT来做到这一点。编写XSD,然后通过输出SQL命令的手写XSLT传递数据模型。编写XSLT比您可能编写的自定义程序/ script更快,可重用。
至少那是我在工作中的工作方式,因此,我有时间挂出SO了:)
XML模式描述了层次结构数据模型,可能无法很好地映射到关系数据模型。将XSD映射到数据库表与映射到数据库表非常相似,实际上,您可以使用Castor之类的框架来完成这两者,它允许您采用XML模式并生成类,数据库表和数据访问代码。我想现在有很多工具可以做同样的事情,但是会有一条学习曲线,默认映射将很可能不是您想要的,因此您必须花时间定制使用的任何工具。
XSLT可能是准确生成所需代码的最快方法。如果它是一个小的模式硬编码,它可能比评估和使用大量新技术要快。
使用XSD文件创建SQL数据库模式的最佳方法是一个名为Altova XMLSpy的程序,这很简单:
希望有帮助。
使用Axis wsdl2java创建Java模型(可以接收.xsd文件)。
使用Java模型生成Java模型的数据库生成工具。当然像Hibernate这样的东西可以做到吗?我写了自己的工具(花了几天时间,也用Java生成了CRUD代码),以节省工作时间,也许这将是一个不错的个人项目?
或只是手动进行操作,以便您可以检查所有内容正确无误!数据库工具已经足够好,现在您可以为模型创建表而无需过多问题。
也许看一下Visual Studio 2k8中的XSD工具...我已经从xsd创建了一个关系数据集,它可能会以某种方式帮助您。
hyperjaxb(版本2和3)实际上生成了休眠映射文件和相关的实体对象,并且还对给定的XSD和示例XML文件进行了往返测试。您可以捕获日志输出并亲自查看DDL语句。我必须对它们进行一些调整,但是它为您提供了一个基本的蓝图。