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

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

Оптимизация файлов БД [D6, Paradox]


dimka ©   (2003-04-01 14:40:00) 

Добрый день!

Есть такой вопрос к мастерам:

Программа правильно работает с БД Парадокс через BDE (ошибок не возникает). Но я заметил, что если загрузить в таблицу скажем store, много позиций, а потом их все удалить, то физический файл БД store.db по-прежнему содержит удаленные позиции.
При просмотре через Database Desktop удаленных позиций тоже нет.
То есть все вроде правильно, но зачем BDE оставляет эту информацию в файле и как можно очисть ее?

Примечание: FlushBuffers - не помогает.


MsGuns   (2003-04-01 17:13:00) [1]

>Соловьев © (01.04.03 15:07)
Обалдел...

>Соловьев © (01.04.03 15:15)
Пошел в кладовку за красной лопатой

>Соловьев © (01.04.03 15:19)
Посмеялся...

Такая вот "эволюция"

Всех с праздничком !!!!! ;)))




Mike Kouzmine   (2003-04-01 15:32:00) [2]

в RX есть функция PackTable(T : TTable) ну или что-то в этом роде.


Соловьев   (2003-04-01 15:31:00) [3]


> Anatoly Podgoretsky © (01.04.03 15:16)


dimka   (2003-04-01 15:29:00) [4]

ценю юмор :)

я повелся...

но все же есть идеи?


sniknik   (2003-04-01 15:24:00) [5]

Соловьев © (01.04.03 15:19)
в Потрепатся это было бы смешно.


Соловьев   (2003-04-01 15:19:00) [6]


> Anatoly Podgoretsky © (01.04.03 15:16)

То что я писал - с 1-м апреля.


dimka   (2003-04-01 15:18:00) [7]


> есть скрытая функция у BDE. PackParadoxInEnter(TableName);

я наверное что-то делаю не так...
такой функции у меня нет, нет и
session.PackParadoxInEnter(TableName);

надо добавить какой-то модуль в uses?


Anatoly Podgoretsky   (2003-04-01 15:16:00) [8]

dbiDoRestructure
но само по себе это лишнее, место используется повторно.


Соловьев   (2003-04-01 15:15:00) [9]

угу. А потом будет использована еще одна скрытая функция Парадокса - там начнет запускать что-то триггера. Упаковка будет происходить автоматически.


dimka   (2003-04-01 15:11:00) [10]


> Запускать только перед create Table.

То есть, выполнить ее надо только один раз (а не каждый раз при загруки проги) перед созданием таблицы?


Соловьев   (2003-04-01 15:07:00) [11]

есть скрытая функция у BDE. PackParadoxInEnter(TableName);
Запускать только перед create Table.


dimka   (2003-04-01 15:02:00) [12]


> лучше при входе.

Спасибо, но как именно выполняется упаковка?


Соловьев   (2003-04-01 14:49:00) [13]

лучше при входе.


dimka   (2003-04-01 14:46:00) [14]


> и не поможет.
> Упаковка должна помочь


Упаковку можно выполнить из самого приложения, скажем при выходе?


Соловьев   (2003-04-01 14:43:00) [15]


> Примечание: FlushBuffers - не помогает.

и не поможет.
Упаковка должна помочь.


Наверх

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