| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Форум группы: delphi > Программное сжатие баз данных |
| Автор: PsiMagistr 16.8.2011, 09:04 | ||
| Ребята, необходимо сжать и восстановить базу данных в формате Acsess 97. Наткнулся на: Использование объекта JetEngine Как мы уже знаем, объект JetEngine может быть использован для сжатия баз данных и обновления данных из кэша. Следующий пример показывает, как сжать базу данных Northwind.mdb в каталоге c:\data\ и создать новую сжатую копию Newnorth.mdb в каталоге d:\data\.
взято с http://www.tdoc.ru/c/programming/delphi/delphi-ado-extensions-page4.html Достав и подключив необходимые модули, сотворил. Не совсем понятны некоторые вещи: 1) JetEng := Nil; Уничтожение объекта. Как я понимаю это обнуление указателя. А где free freeAndNil или что то подобное? 2) База вроде сжимается, но Самое интересное НЕ происходит обновление ключей. Т.е. был у нас ключ счетчик 1 2 3 Сжатие должно нормализовать счетчик, но этого не происходит. т.е. Мы удалили скажем 3 запись. Если теперь добавить новую запись в таблицу положение счетчика должно быть таким. 1 2 3 а на деле 1 2 4 Может нужны дополнительные операции, кроме сжатия? При попытке записать штатное удаление объекта вместо JetEng := Nil; FreeAndNil(JetEng); происходит следующий фокус. Ошибок нет. Но любая операция следующая за этой просто игнорируется, даже если это просто вывод сообщения. |
| Автор: Akella 16.8.2011, 10:26 |
| А почему в клубе, а не в соответствующем разделе? |
| Автор: PsiMagistr 16.8.2011, 10:29 |
| Akella, Я заметил, но было поздно. спутал. Есть кто, кто может переместить темку? Akella, а по существу? |
| Автор: Akella 16.8.2011, 14:53 |
| я акцесс не использую |