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

Вниз

Потеря данных   Найти похожие ветки 

 
Andreika   (2002-12-31 18:16) [0]

Драсьте!
Есть простенькая прога по обработке БД (Paradox: две связанные таблицы + два справочника). Однако? приходится в настоящее время заносить большой объем информации. И вот давеча юзер пожаловался мне, что, после того как у него завис комп, улетели в неизвестном направлении все записи, которые он усердно забивал, начиная с момента ее открытия. Впервые с этим столкнулся и сильно удивился, разбираться времени еще не было. Может кто объяснит, что же произошло и как этого избежать в будущем?

Пасиба!


 
Prooksius ©   (2003-01-01 18:31) [1]

Ну в первую очередь - сменить БД. Paradox - ненадежная.
Предлагаю IB.
Если не устраивает, всегда стартуй и завершай транзакции явно, почаще сохраняй на диск изменения (FlushBuffers или как его там... ну то есть буфера надо как можно быстрее на винт сбросить).


 
Anatoly Podgoretsky ©   (2003-01-01 18:48) [2]

Local Share = TRUE


 
TTCustomDelphiMaster ©   (2003-01-01 20:21) [3]


> Может кто объяснит, что же произошло


Информация сначала заносится в кэш. При нажатии на Reset этот кэш погиб со всеми записями.


 
Andreika   (2003-01-02 20:15) [4]

Народ, я пользовался стандартными компонентами TDatabase, TTable. БД - локальная. Причина улета данных ясна как божий день. Но я так и не нашел ту самую переключалку, которая отменяет/разрешает кэширование данных. Что нужно сделать, чтоб комп сразу сбрасывал данные на диск, а не копил их в каком-то буфере в ожидании финиша?


 
Prooksius ©   (2003-01-02 20:35) [5]

Посмотри пример
C:\Program Files\Borland\Delphi6\Demos\Db\Mastapp\


 
TTCustomDelphiMaster ©   (2003-01-02 20:43) [6]

Насколько я помню FlushBuffers сбрасывает кэш на диск. Выполняй его после Post.


 
Pat ©   (2003-01-02 21:25) [7]

вот нашел в faq"е:
http://delphi.mastak.ru/cgi-bin/faq.pl?look=1&id=988623315&n=14
Возникло несколько вопросов....
FlushBuffers только для Д3?
Post не подходит?


 
TTCustomDelphiMaster ©   (2003-01-02 21:35) [8]

FlushBuffers для TBDEDataSet. Post помещает данные в кэш.


 
vovkin   (2003-01-02 21:36) [9]

Ну тык выдь ... Paradox основан на работе с файлами очень жестко ( это не SQL сервер где все централизовано) и ессно, если буферы(а) файла не сбросить на диск, а тем более, когда машина обвисла бежнадежно, таки информация не сбросится на диск. Это раз, во вторых, проверь свою работу в транзакциях, мож где остается незакрытая транзякция? А Post таки опять работает только с кэшем, посему, после Post инфа попадает в буффер, а не физически в файл. Так скать, для ускорения работы


 
Andreika   (2003-01-03 12:11) [10]

Всем пасиба! Отдельное - TTCustomDelphiMaster-у.
FlushBuffers работает. У-р-р-а-а-а!!!


 
Andreika   (2003-01-03 12:26) [11]

Пардон, Prooksius-у также отдельное пасиба!



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

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

Наверх




Память: 0.49 MB
Время: 0.03 c
1-72360
April
2003-01-12 11:27
2003.01.23
Как с формы удалить все компоненты, кроме как дестроить каждую?


1-72184
saty
2003-01-13 20:48
2003.01.23
StringGrid2


3-72086
KIR
2002-12-25 21:46
2003.01.23
Как сделать, чтобы Detail бэнд в FR не рабвался постранично?


6-72427
UniQ
2002-11-23 18:30
2003.01.23
Тестирование программы.


7-72553
Xman
2002-11-12 12:18
2003.01.23
как можно определит ползователья