Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.11.28;
Скачать: [xml.tar.bz2];

Вниз

Из 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.008 c
3-92938
Mic_2000
2002-11-08 18:35
2002.11.28
Не могу занести в поле char русскую строку, помогите


1-93124
Jeka.
2002-11-18 08:12
2002.11.28
Опять Scroll


1-93092
ЖЕНЕК
2002-11-16 22:54
2002.11.28
Звиняйте конечно....


3-92904
lovres
2002-11-11 11:56
2002.11.28
Как создать *.udl или *.dsn файл?


14-93238
evgeg
2002-11-08 19:39
2002.11.28
Первый настоящий ужас Стивен Кинг испытал,





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский