Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Экспорт БД в формате XML [D6, MSSQL]


Leon ©   (2010-03-13 17:52:00) 

Доброго времени суток.

Возникла проблема при сохранении XML файла.

Вместо красивого файла, генирируемого MS SQL Server Management Studio Express, получается нечто малопонятное...

Кусок кода:

Query.SQL.Add(...);
Query.SQL.Add('FOR XML AUTO, ELEMENTS');
Query.Open();
SaveToFile(fn, pfXML);


текст xml:

<xml xmlns:s='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882'
xmlns:dt='uuid:C2F41010-65B3-11d1-A29F-00AA00C14882'
xmlns:rs='urn:schemas-microsoft-com:rowset'
xmlns:z='#RowsetSchema'>
<s:Schema id='RowsetSchema'>
<s:ElementType name='row' content='eltOnly' rs:updatable='true'>
 <s:AttributeType name='c0' rs:name='XML_F52E2B61-18A1-11d1-B105-00805F49916B' rs:number='1' rs:nullable='true'>
  <s:datatype dt:type='bin.hex' dt:maxLength='2147483647' rs:long='true'/>
 </s:AttributeType>
 <s:extends type='rs:rowbase'/>
</s:ElementType>
</s:Schema>
<rs:data>
<z:row c0='44034f007200670044055200610079006f006e0044034b006f00640044054e0075006d004f00 62004406520065006700



Судя по гуглу, таких проблем быть не должно.
Подскажите пожалуйста, что не так?


Leon   (2010-03-14 10:55:00) [1]

Спасибо всем ответившим,
Медвежонок Пятачок  © оказался прав :)
Помогло!


Медвежонок Пятачок   (2010-03-13 21:05:00) [2]

Подскажите пожалуйста, что не так?

перестарался немного.

сначала сам запрос вернул xml,
затем адоквери зачем-то еще раз сохраняет единственную строку результата в xml пакет.

Query.SQL.Add('select CAST((');
Query.SQL.Add(...);
Query.SQL.Add('FOR XML AUTO, ELEMENTS) as varchar(max))');
Query.Open();
//SaveToFile(fn, pfXML);

ShowMessage(Fields[0].Value);

либо (если используешь SaveToFile(fn, pfXML); ) - убрать из исходного запроса "for xml auto"


sniknik   (2010-03-13 18:57:00) [3]

> Подскажите пожалуйста, что не так?
все так, все правильно, пусть и не то что тобой ожидалось... это
adPersistXML - Indicates Extensible Markup Language (XML) format. данные, вместе со структурой.
а красивым XML-ю быть не обязательно, его в блокноте не редактируют... ну если только не в самых простых случаях.


Leon   (2010-03-13 18:53:00) [4]

Query: TADOQuery;


Ega23   (2010-03-13 18:17:00) [5]

Query - класс какой?


Наверх

Титульная страница Поиск, карта сайта Написать письмо