преобразовать таблицу базы данных в файл схемы XML

Я использую SQL Server 2005. Есть ли какая-либо команда или инструмент графического интерфейса (например, любое меню / функция из студии управления SQL Server) для преобразования таблицы базы данных в файл схемы XML (.xsd)?

заранее спасибо, Джордж


person George2    schedule 06.05.2009    source источник
comment
Проверьте эту ссылку .... Чтобы загрузить приложение для преобразования таблицы базы данных SQL Server в XML, sites.google .com / site / createxmlfromdb   -  person sam    schedule 29.09.2012


Ответы (3)


Я нашел это. Попробуйте

Select CourseID, Name, CoursePrice
FROM CouseMaster.Course Course
FOR XML AUTO, XMLSCHEMA
person Mork0075    schedule 06.05.2009
comment
@ Mork0075, 1. CourseID, Name, CoursePrice - это имена столбцов? 2. Я думаю, что название таблицы - CouseMaster.Course, но почему вы добавляете дополнительный курс после курса CouseMaster.Course? - person George2; 06.05.2009
comment
Это был всего лишь фрагмент "скопировать и вставить". Выбор и от на самом деле не важны, FOR XML AUTO, XMLSCHEMA должны быть. - person Mork0075; 06.05.2009
comment
Круто, я использую Select CourseID, Name, CoursePriceFROM CouseMaster.Course FOR XML AUTO, XMLSCHEMA, и он работает. Последний вопрос, имеется ввиду дополнительный курс после CouseMaster.Course? - person George2; 06.05.2009
comment
Я не знаю, возможно, это опечатка и должна быть ОТ x AS y - person Mork0075; 06.05.2009
comment
@ Mork0075, как вывести схему в файл? - person George2; 06.05.2009
comment
Это зависит от вашей среды. Если запустить команду в оболочке, вы сможете передать ее в файл. - person Mork0075; 06.05.2009
comment
В настоящее время я запускаю его в SQL Server 2005 Management Studio, как запустить его из оболочки? - person George2; 06.05.2009
comment
Большое спасибо! Могу ли я предложить вам обновить его, чтобы использовать следующее: FOR XML AUTO, ROOT ('Root'), XMLSCHEMA Добавление корня даст вам хорошо сформированный XML, который вы можете использовать для других приложений, которые могут быть более разборчивыми. - person MikeTeeVee; 11.10.2012
comment
Я не понимаю, когда я запускаю это в sql, я просто получаю ошибки везде, в чем вы это запускаете? - person Alioo; 06.12.2012
comment
ты палочка-выручалочка! Я вечно искал, чтобы найти что-то подобное! Спасибо. Спасибо. Спасибо - person SageMage; 17.12.2012
comment
@Alioo, опубликуйте свой запрос, возможно, я смогу помочь - person SageMage; 17.12.2012

Вы можете записать в файл так:

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 приводит к тому, что это простые символьные данные в выводе, используйте вместо этого -w, если вы хотите вывод utf-16 (unicode).

РЕДАКТИРОВАТЬ - и если вы хотите изменить структуру xml, посмотрите PATH с FOR XML.

person ahains    schedule 06.05.2009

Объявите @SQL nvarchar (1000) SET @ SQL = 'bcp.exe' + '"выберите * из yourdbname.yourschema.yourtablename для пути xml (' 'record' '), ROOT (' 'tabel' ')"' + ' queryout '+' c: \ yourfilename.xsd '+' -w -r -t -SyourServerName -T '

печать @SQL EXEC Master..xp_CmdShell @SQL

Заменить все значения, начинающиеся на «ваше», соответственно

person rmdussa    schedule 11.05.2009