【问题标题】:Build database from xsd and wsdl in SQL Server 2012在 SQL Server 2012 中从 xsd 和 wsdl 构建数据库
【发布时间】:2016-02-01 02:08:22
【问题描述】:

很抱歉这个幼稚的问题,但尽管我搜索了很多并找到了一些简单的示例,但我无法将这些转换为我的问题,它有大约 100 个表,对我来说非常复杂。

我需要构建一个数据库来包含通过其 API 从 eBay 检索到的信息。

目前我只使用了几个表,手动构建对我来说更容易,但现在我需要构建数据库的完整结构,我正在寻找一种方法,不仅可以避免大量手动(和不必要的工作),但要根据规范拥有数据库。

XSD 和 WSDL 可在以下地址获得:

有没有办法直接从附加的 xsd 和/或 wsdl 文件生成所有列的大小和格式设置正确的所有表?

谢谢

【问题讨论】:

  • 据我所知,没有开源项目可以满足您的需求。如果仅仅因为模式使用专有注释来提供额外的约束(例如字段的大小),开箱即用的功能将不起作用。如果您对专有解决方案感兴趣,请使用我网站上的支持地址与我联系。
  • 嗨!感谢您的回答.. 好吧,实际上我认为 xsd 和/或 wsdl 确实包含所有约束、pk、fieldType 和 Size:我阅读了一些行,发现对于某些字段,这些信息被包含在内,我(错误地)认为这是所有表和字段..因此我的问题是.. xsd 和 wsdl 用于什么?但我肯定会在谷歌上搜索一段时间找到答案。因此,要执行我的想法,是否需要 DLL?谢谢!
  • 我不确定你所指的DLL...是MS工具从wsdl/xsd生成的编译代码吗?如果是,那么你不能真正使用它来实现你所需要的,也没有从 DLL 到你想要的已知路径。您将需要数百个表来存储 XSD 所描述的模型。有一些机制可以“自然地”折叠一些实体,有些人可能称之为 XSD 中类型的“非规范化”......我们确实支持所有这些,但我有点相信它不会是你一直以来的样子思考或期待。
  • 嗨!谢谢你的时间。实际上没有提供 DLL:我在问(间接地)创建数据库需要什么?据我了解,它需要一个 DLL 或 SQL 命令文件:使用 XSD 和 WSDL 不可能做任何事情。除此之外,我还没有理解 XSD 和 WSDL 的含义和范围。.. :-(
  • 除了 XML 验证、文档等之外,XSD 还可用于创建数据库。对于 SQL Server 2012 等关系数据库,您可以编写自己的逻辑,也可以使用提供逻辑的工具将 XSD 映射到逻辑模型,然后将其转发工程为特定的物理模型。我实际上已经尝试过您的 XSD,它工作正常。如果不进行调整,转换会产生 1312 个表。我的意思是调优...是创建了许多表(例如 FreeGalleryPlusEnabledDefinitionType 是一个空类型,被 FeatureDefinitionsType 用作基本类型)...

标签: tsql xsd sql-server-2012 wsdl


【解决方案1】:

查看xsd2db on sourceforge

使用时要格外小心,因为它会在没有警告的情况下删除和重新创建数据库!

命令行参数示例:

-f -l  servername -n databasename -s c:\workspace\xsd2db\Schemas\schema.xsd -t Sql

照原样,它在 DataSchemaAdapter 项目中引用了旧版本的 ADODB。只需删除它并添加同名的 NuGet 包。

这么多年过去了,它在 VS2019 中似乎仍然运行良好

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-28
    • 2014-04-25
    • 1970-01-01
    • 1970-01-01
    • 2014-01-22
    • 2017-12-10
    • 1970-01-01
    相关资源
    最近更新 更多