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

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

这与从数据集表格创建数据库表不同,因为我没有数据集表,但有XSD。

有帮助吗?

解决方案

商业产品:Altova的 XML间谍

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

虽然您可以尝试“自动化”为此,您的XSD必须考虑到关系数据库,否则效果不佳。

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

去过那里,做到了。招聘工作 - 没有开源。

其他提示

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

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

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

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

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

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

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

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

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

或者只是手动操作,这样你就可以检查一切是否正确和好!数据库工具现已足够好了,您可以通过压缩为模型创建表而不会出现太多问题。

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

hyperjaxb(版本2和3)实际上生成了hibernate映射文件和相关实体对象,并且还对给定的XSD和示例XML文件执行往返测试。您可以捕获日志输出并自己查看DDL语句。 我不得不稍微调整一下,但它会给你一个基本的蓝图。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top