【问题标题】:convert database table into XML schema file将数据库表转换为 XML 模式文件
【发布时间】:2010-10-24 03:13:28
【问题描述】:

我使用的是 SQL Server 2005。是否有任何命令或 GUI 工具(例如 SQL Server management studio 中的任何菜单/功能)将数据库表转换为 XML 模式文件 (.xsd)?

提前致谢, 乔治

【问题讨论】:

标签: sql-server database xsd schema


【解决方案1】:

我找到了这个。试试看

Select CourseID, Name, CoursePrice
FROM CouseMaster.Course Course
FOR XML AUTO, XMLSCHEMA

【讨论】:

  • @Mork0075, 1. CourseID、Name、CoursePrice 是列名吗? 2.我认为CouseMaster.Course是表名,但是为什么在CouseMaster.Course Course后面加了一个Course呢?
  • 这只是一个复制和粘贴 sn-p。 select 和 from 不是很重要,FOR XML AUTO, XMLSCHEMA 应该是。
  • 酷,我正在使用“Select CourseID, Name, CoursePriceFROM CouseMaster.Course FOR XML AUTO, XMLSCHEMA”,它可以工作。最后一个问题,CouseMaster.Course 后面的附加Course 是什么意思?
  • 我不知道,可能是错字,应该是 FROM x AS y
  • @Mork0075,如何将架构输出到文件?
【解决方案2】:

您可以像这样写入文件:

bcp.exe "select top 0 * from (select 1 as iCol) as t for xml auto, xmlschema" queryout outfile.xsd -T -c

我使用 TOP 0 来排除实际查询数据的 xml,因为您只需要架构。 -c 使其成为输出中的纯字符数据,如果您想要 utf-16 (unicode) 输出,请使用 -w 代替。

编辑 - 如果您想更改 xml 结构,请使用 FOR XML 查看 PATH。

【讨论】:

    【解决方案3】:

    声明@SQL nvarchar(1000) SET @SQL= 'bcp.exe '+ '"select * from yourdbname.yourschema.yourtablename for xml path (''record''), ROOT (''tabel'')"' +' queryout '+ 'c:\ yourfilename.xsd' +' -w -r -t -SyourServerName -T'

    打印@SQL 执行大师..xp_CmdShell @SQL

    相应地替换所有以“你的”开头的值

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-13
      • 1970-01-01
      • 1970-01-01
      • 2022-01-15
      • 2014-02-06
      • 2014-08-24
      • 2011-09-07
      相关资源
      最近更新 更多