Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Как получить XML Schema для таблицы базы данных?


Автор: Pankon 10.7.2008, 10:44
Как получить XML Schema для таблицы базы данных? Т.е. Нужна XML Schema, с помощью которой можно проверить валидность xml-файла, который будет использоваться для вставки данных в таблицу БД.

Автор: Wanderer2019 10.7.2008, 11:05
Цитата(Pankon @  10.7.2008,  10:44 Найти цитируемый пост)
Как получить XML Schema для таблицы базы данных? Т.е. Нужна XML Schema, с помощью которой можно проверить валидность xml-файла, который будет использоваться для вставки данных в таблицу БД. 


т.е. формально схема нужна не для таблицы БД, а для xml файла? Если да, то тут два варианта - 
1. (и наиболее действенный) - нарисовать схему ручками.
2. воспользоваться утилиткой xsd.exe, но она не всегда корректно рисует схему. Может понадобиться частичная правка.

Автор: Pankon 10.7.2008, 11:17
Цитата(Wanderer2019 @  10.7.2008,  11:05 Найти цитируемый пост)
воспользоваться утилиткой xsd.exe
 xsd.exe делает схему для xml - фаила, а не для таблицы, т.е. все равно придется вначале xml - фаил рисовать, а потом на него xsd.exe натравливать....

Я надеялся найти утилиту/классы, которые анализируют таблицу (типы столбцов, Not Null, ключи и т.д) и автоматом дает схему (самому писать ломы).

Автор: Wanderer2019 10.7.2008, 11:28
порылся в мсдн.. - у ДатаСета есть метод - GetXmlSchema. Может оно?

Автор: loma 12.7.2008, 01:23
 Если БД SQL Server 2005 то очень просто делается в Menagment studio


select * from ТВОЯ ТАБЛИЦА
for xml raw('Row'), elements xsinil, ROOT('MyDocument')

Открываешь полученный фаил
Идёшь в меню ->XML->CREATE Schema

Автор: jonie 13.7.2008, 11:48
ппц у вас методы. у меня есть таблицы по 2 гига и более.... прикиньте их сдампить таким образом (ну хоть top  ставь прямо) насколько гемморойно. уж лучше я ручками схемку составлю 8)

а что вообще подразумевается под "валидным xml для вставки в базу"??

Автор: Pankon 15.7.2008, 21:53
Цитата(jonie @  13.7.2008,  11:48 Найти цитируемый пост)
а что вообще подразумевается

Цитата(Pankon @  10.7.2008,  10:44 Найти цитируемый пост)
валидность xml-файла, который будет использоваться для вставки данных в таблицу БД


Данные приходят в xml файле... Может случиться, что, например, на месте, где должно было быть число, стоит строка... (Столбец в БД integer)

С помощью XML Schema можно сразу проверить такие случаи.



Автор: Bogdan1024 16.7.2008, 10:37
Создаёшь датасэт, набрасываешь на него из сервер эксплорера таблицы. Сам файл имеет расширение xsd, тоесть, схема. Такое подходит?

Автор: Idsa 16.7.2008, 19:06
Pankon, думаю, нужно посмотреть в сторону SqlConnection.GetSchema

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)