Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.28;
Скачать: CL | DM;

Вниз

Из XML в базу данных   Найти похожие ветки 

 
bigbill   (2002-11-08 07:13) [0]

проблема при относительно большом числе "записей" (>1000)
Надо: из XML файлов добавлять (append) в базу данных.
Решение:
создаем файл трансформации:
ToDp.xtr
открываем XML:
xmltransform1.SourceXmlFile:=opendialog1.FileName;
присоединяем к клиенту:
ClientDataSet1.XMLData:=XMLTransform1.Data;
включаем:
ClientDataSet1.Active:=true;
результат выводится в DBGrid1.

Грабли: если элементов в XML мало (штук 20 - 30) все работает как часы, а если много - 1200 - то вылетает с сообщением:
Access violation MIDAS address 65ххх

Как победить эти грабли? и с чем они связаны понять не могу :((

После выбора нужных строчек в DBGrid1 (по кнопке) добавляю в базу (работает):
procedure TForm1.Button2Click(Sender: TObject);
var
i: integer;
begin
if dbgrid1.SelectedRows.Count>0 then
with DBGrid1.DataSource.DataSet do
for i:=0 to dbgrid1.SelectedRows.Count-1 do
begin
GotoBookmark(pointer(DBGrid1.SelectedRows.Items[i]));
table1.Append;
table1.FieldValues["name"]:=DBGrid1.Fields[0].asstring;
...
table1.FieldValues["last"]:=DBGrid1.Fields[9].asstring;
table1.Post;
end;
end;


Может быть сразу из XML в базу (а не через DBGrid)?
НЕ знаю как :((

Плиз, помогите!

Заранее спасибо!


 
asmith   (2002-11-08 18:13) [1]

В MIDAS.dll достаточно много глюков, возможно, это один из них. Можно попробовать проапдейтить ее, в сети есть исправления, правда, не уверен в их официальности. Других выходов навскидку вижу два:
1. парсировать XML с помощью MSXML
2. использовать Delphi XML Mapping Tool.
А дальше - как уже сделано:
table1.Append;
table1.FieldValues["name"]:=strNameAttribute;
...
table1.FieldValues["last"]:=strLastAttribute;
table1.Post;



Страницы: 1 вся ветка

Текущий архив: 2002.11.28;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.017 c
3-92879
Hlor
2002-11-11 02:00
2002.11.28
Доброе время суток! Как отсортировать....


3-92948
Sirus
2002-11-12 07:04
2002.11.28
Как отсортировать данные???


3-92872
bigbill
2002-11-08 07:13
2002.11.28
Из XML в базу данных


1-93099
VJar
2002-11-16 15:37
2002.11.28
Ошибка при работе с типизованным файлом


14-93205
Nico1a
2002-11-07 22:08
2002.11.28
Ищу хостинг