Как создать схему таблицы SQL Server из схемы XML? (с .NET и Visual Studio 2008) - PullRequest
3 голосов
/ 17 июня 2009

У меня есть XML-схема, и я знаю, что "xsd.exe" может сгенерировать для нее код C #. Но я хочу знать, возможно ли автоматически создавать таблицы MS SQL Server 2005+ из XSD с помощью этого или других инструментов.

Кстати Я не понял, чего стоит код C #, сгенерированный "xsd.exe". В чем разница между кодом, сгенерированным CodeXS и xsd.exe?

Ответы [ 4 ]

5 голосов
/ 14 октября 2010

Вы можете использовать утилиту XSD2DB

Это пример xsd2db.exe -f true -l [Имя сервера] -n [Имя базы данных] -s D: \ po.xsd -t sql

Ссылка на помощь http://xsd2db.sourceforge.net/

2 голосов
/ 18 июня 2009

Отказ от ответственности: я сам этого не делал, но недавно добавил в закладки эти ссылки, когда думал об этом. T-SQL этого парня, как правило, великолепен, поэтому я очень рекомендую его:

http://weblogs.sqlteam.com/peterl/archive/2009/03/05/Extract-XML-structure-automatically.aspx

http://weblogs.sqlteam.com/peterl/archive/2009/06/04/Extract-XML-structure-automatically-part-2.aspx

2 голосов
/ 18 июня 2009

Кстати, я не понял, что такое код C # сгенерированный "xsd.exe" стоит.

Я предполагаю, что вы имеете в виду "я не понимаю, насколько сгенерированный код полезен"

Целью кода, который он генерирует, является сериализация с использованием подсистемы сериализации Microsoft в .NET. Если вы создаете новый XmlSerializer (typeof (GeneratedType)), вы можете затем вызвать Serialize () и Deserialze () для него, чтобы перейти в / из Xml и объектов.

В более сложном генераторе кода, таком как CodeXS, это становится еще проще, поскольку они генерируют для вас помощников: GeneratedType.FromXML (Stream / String) для десериализации и myGeneratedType.Xml для сериализации.

Эти сгенерированные классы позволяют вам работать с опубликованной схемой и имеют полную уверенность в том, что любой сгенерированный XML, соответствующий этой схеме, будет анализироваться и генерироваться с использованием этих типов. Вам не нужно выполнять какую-либо работу по извлечению данных из XML (т. Е. Нет доступа к XML DOM), и вам не нужно дважды задумываться о создании XML, соответствующего вашей схеме. Это просто работает :)

0 голосов
/ 17 июня 2009

Пока вы можете успешно анализировать свою XML-схему, вы должны иметь возможность создавать соответствующие сценарии базы данных и выполнять их для создания ваших таблиц.

...