我有一套XSD,可以从中生成数据访问类,存储过程等。如何从XSD文件创建数据库表?
我没有什么是从这些生成数据库表的方法 - 是否有一个工具,将生成我的DDL语句?
这与Create DB table from dataset table不一样,因为我没有数据集表格,而是XSD。
我有一套XSD,可以从中生成数据访问类,存储过程等。如何从XSD文件创建数据库表?
我没有什么是从这些生成数据库表的方法 - 是否有一个工具,将生成我的DDL语句?
这与Create DB table from dataset table不一样,因为我没有数据集表格,而是XSD。
商业产品:Altova的XML Spy。
请注意,没有通用的解决方案。一个XSD可以很容易地描述一些没有映射到关系数据库的东西。
尽管您可以尝试“自动化”这个,但您的XSD必须考虑设计关系数据库,否则它将无法正常工作。
如果XSD的功能映射不好,您必须(1)设计某种映射,然后(2)编写自己的应用程序将XSD转换为DDL。
在那里,做到了。为招聘工作 - 没有可用的开源。
使用Axis wsdl2java(可以接收.xsd文件)创建Java模型。
使用Java数据库生成工具,该工具接受Java模型。当然,像Hibernate这样可以做到这一点?我写了自己的工具(需要几天时间,也可以在Java中生成CRUD代码)以节省工作时间,也许这将是一个不错的个人项目?
或者只是手动操作,以便您可以检查一切正确和好!数据库工具已经足够好,现在您可以通过为模型创建表格来压缩,而不会出现太多问题。
我使用XSLT来做到这一点。 编写您的XSD,然后通过手写的XSLT传递您的数据模型,以输出SQL命令。编写XSLT比您可能编写的自定义程序/脚本快得多且可重用。
至少这就是我如何做到这一点的工作,并感谢我有时间挂出SO :)
你有使用*** XSLT ***吗? http://stackoverflow.com/help/how-to-answer – Kiquenet 2017-03-06 09:04:01
不妨来看看在Visual Studio中2K8的XSD工具......我创建来自xsd的关系数据集,它可能会帮助你以某种方式。
可以使用`xsd.exe`生成模式,但您必须自己添加关系,请参阅[MSDN上的XML大容量加载示例](http:/ /msdn.microsoft.com/en-us/library/ms171806.aspx)或[此问题]中的示例(http://stackoverflow.com/questions/13397885/bulk-load-xml-referring-to-auto -Increment父-ID /)。 (我似乎记得修复了一些数据类型,但也许这是从`XML`生成`XSD`)。 – 2013-07-04 11:29:45
正如我曾经提到的[这里](http://stackoverflow.com/questions/74879/any-tools -xml-instance-document/74939#comment18122579_74939)`xsd.exe`的目录似乎在Windows 7上已更改。我在_many_ Microsoft SDKs目录中创建了一个xsd-schema-from-an-xml-所以它似乎不再依赖于Visual Studio_(?)。一个目录是:`C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v7.0A \ Bin \ NETFX 4.0 Tools`。 – 2013-07-04 11:31:24
hyperjaxb(版本2和3)实际上会生成hibernate映射文件和相关的实体对象,并且还会针对给定的XSD和示例XML文件执行往返测试。您可以捕获日志输出并查看自己的DDL语句。 我不得不稍微调整它们,但它给了你一个基本的蓝图。
XML Schemas描述分层数据模型,可能无法很好地映射到关系数据模型。将XSD映射到数据库表非常类似于将映射对象映射到数据库表,事实上,您可以使用像Castor这样的框架来执行这两个操作,它允许您创建XML模式并生成类,数据库表和数据访问代码。我想现在有很多工具可以做同样的事情,但是会有一条学习曲线,默认映射最不想成为你想要的,所以你必须花时间定制你使用的任何工具。
XSLT可能是您生成所需代码的最快方法。如果它是一个小模式硬编码,它可能比评估和学习一堆新技术更快。
有一个名为XSD2DB的命令行工具,它可以从sourceforge中的xsd-files生成数据库。
创建使用一个XSD文件中的SQL数据库架构的最佳方式是一种叫做Altova的XMLSpy的程序,这是非常简单的:
希望它有帮助。
如果您有企业许可证。 – jaccso 2014-08-14 18:42:02
XML Spy 2015完全没有帮助我,但XSD2DB的确如此。 – 2014-09-23 15:07:28