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

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

Из XML файла сохранить в базу данных? [D6]


Max_ ©   (2003-11-04 11:02:00) 

У меня есть ClientDataSet. В него я загружаю XML файл, в свою очередь ClientDataSet через DataSetProvider присоединён к таблице из базы (Oracle). Задача состоит в том как сохранить XML данные в таблицу? Делаю ApplyUpdate(-1) после загрузки файла- ничего не даёт. Таблица и файл по структуре вроде идентичны. Одним словом, он эти изменения не видет!


sokohigh   (2003-11-04 20:06:00) [1]

>Max
А в XMLMapper-е тестовая трансформация походит?
Файл трансформации создаешь на основе того же файла, который пытаешься залить в базу?


sokohigh   (2003-11-04 19:58:00) [2]

>Romkin ©, Vlad
А что означает "работать с методами собственно сервера"?
Я не нашел ничего лучшего для решения этой проблемы, чем использование XMLTransformClient с файлом трансформации типа "Insert Delta" - это работает, если все правильно сделать. Можно тоже исходный XML преобразовывать в "Delta-XML-CDS-формат" ручками, а иначе как?


Max_   (2003-11-04 12:03:00) [3]

XMLData- string, а Data-OleVariant! Delta- readonly! Мне интересно почему ошибка вылезает какая-то:XML Parse Error: Reason:Invalid at the top level of the document. Line 1, Position 1


Vlad   (2003-11-04 11:50:00) [4]

Обрати внимание на [4]


bushmen   (2003-11-04 11:46:00) [5]

А случаем, это не ошибка заголовка XML документа?


Max_   (2003-11-04 11:44:00) [6]

ChangeCount =0! Я тут нашёл компонент XMLTransformClient- он именно этим и занимается через трансформационный фаил, который можно генерировать через XML Mapper, но он мне выдаёт следующую ошибку: XML Parse Error: Reason:Invalid at the top level of the document. Line 1, Position 1


Romkin   (2003-11-04 11:26:00) [7]

И что, ChangeCount > 0 ?


Max_   (2003-11-04 11:25:00) [8]

Так я ж написал всю цепочку:

procedure TForm1.FormCreate(Sender: TObject);
begin
ClientDataSet1.LoadFromFile("c:\aaa.xml");
if ClientDataSet1.ChangedCount>0 then
ClientDataSet1.ApplyUpdates(-1);
end;

procedure TForm1.ClientDataSet1ReconcileError(
DataSet: TCustomClientDataSet; E: EReconcileError;
UpdateKind: TUpdateKind; var Action: TReconcileAction);
begin
ShowMessage(E.Message);
end;

ClientDataSet через DataSetProvider присоединён к таблице из базы (Oracle).


Romkin   (2003-11-04 11:21:00) [9]

А все-таки надо работать с методами собственно сервера, ты должен загрузить свойство cds DATA как Delta


bushmen   (2003-11-04 11:16:00) [10]

>Max_

А твой код мы за тебя будем составлять?


Max_   (2003-11-04 11:11:00) [11]

Ну а всё таки?


Reindeer Moss Eater   (2003-11-04 11:09:00) [12]

В девятке нативная поддержка XML есть.
Зачем такие подпорки?


Наверх

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