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

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

Импорт из dbf в Interbase [IB6.x, Yaffil]


Sergant ©   (2003-01-20 14:05:00) 

Имеется БД-справочник на сервере Interbase. Справочник обновляется 2-3 раза в неделю из текстовых и dbf-файлов.
Предварительно вся информация из таблиц БД Interbase удаляется.
Для доступа к Interbase исп. FibPlus, а для закачки из dbf такую процедуру:
while not T1.Eof do
begin
T2.Insert;
for i:=0 to T1.FieldCount-1 do
T2.Fields[i].Value:=T1.Fields[i].Value;
T2.POst;
T1.Next;
Application.ProcessMessages;
Pr1.StepIt(1);
end;
Обновление из dbf, состоящего из 5000 записей длится полтры минуты. Если этот же код использовать при соединении с Interbase через IBX, закачка выполняется за 20-30 секунд.
Подскажите, как правильно настроить TpFIBDataSet.


Alexandr   (2003-01-21 07:57:00) [1]

неправильно настроил TpFIbDataSet.
А вообще, он тут и не нужен.


Sergant   (2003-01-20 17:09:00) [2]

>ufff
4.7.7
>Johneman
Я перевожу эту прогу с версии, работающей именно через BDE с dbf-файлами на сервер InterBase, поэтому BDE сознательно не использую. Для доступа к dbf использую Halcyon 6.94


Johnmen   (2003-01-20 16:14:00) [3]

Думаю, что в данном случае лучше исп-ть BDE и запрос
INSERT INTO <T2> SELECT FROM <T1> ...


ufff   (2003-01-20 16:11:00) [4]

какая версия FIBов то?


Sergant   (2003-01-20 15:57:00) [5]

>ufff
Пробовал. Одинаково. Делал Commit и через 50 записей, и через 100-все равно медленно.


Delirium^.Tremens   (2003-01-20 14:12:00) [6]

Посмотри здесь:
http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1042732873&n=1


ufff   (2003-01-20 14:08:00) [7]

слушай, а если снять AutoCommit ? А в конце или гденибудь в промежутке сделать Commit?


Наверх

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