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