Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.011 c
14-72512
ZiLot
2003-01-06 08:46
2003.01.23
InstallShield & BDE


3-72157
Behem
2003-01-04 11:55
2003.01.23
Как проще из поля int сделать автоинкрементное!!!


7-72560
Vikuksa
2002-11-01 09:26
2003.01.23
Помогите!


3-72119
Vadim
2002-12-28 01:02
2003.01.23
MySql и Delphi7


6-72438
Walker
2002-11-17 02:40
2003.01.23
IS филтры




   Наверх