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

Вниз

Размер базы Access   Найти похожие ветки 

 
arhis   (2008-06-25 17:29) [0]

Получаю данные в программу через ADO и заметил что через некторое время база через которую идет обмен (Access) пухнет просто в разы. Кто-нибудь знает что это такое и как привести базу в начальное состояние?


 
Ega23 ©   (2008-06-25 17:31) [1]

удалённые записи помещаются в "Корзину", а не удаляются вообще.
Была там какая-то опция, то-ли упаковать базу, то-ли как-то ещё...


 
Правильный-Вася   (2008-06-25 17:34) [2]


>  база через которую идет обмен

если данные при обмене удаляются, потом на их место появляются новые и сначала, то размер со времемен стабилизируется, т.к. место в корзине начинает использоваться повторно


 
arhis   (2008-06-25 17:36) [3]

То есть в базе данных Access есть "корзина"? И как до нее добраться?


 
Правильный-Вася   (2008-06-25 19:34) [4]


>  как до нее добраться?

с какой целью?
если чистить - есть упаковка
для других целей - не стоит оно того


 
arhis   (2008-06-27 16:55) [5]

Ок, я хочу очистить все буферы и корзины в конце каждой сессии, как мне это 1сделать через TADOTable?


 
Johnmen ©   (2008-06-27 16:57) [6]


> как мне это 1сделать через TADOTable?

Никак.


 
Правильный-Вася   (2008-06-27 17:08) [7]


>  в конце каждой сессии

это занятие для админа базы, а не пользователя, особенно если он не один


 
Сашик   (2008-06-29 22:18) [8]

Попробуйте следующую функцию:
(на всякий случай предварительно сохраните оригиналный *.mdb)


resourcestring
 SJETENGINE = "JRO.JetEngine";
SQLCOMPACTSRC = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=";
 SQLCOMPACTSRC1 = "x;Jet OLEDB:Engine type=5";

function CompactAndRepair(const DB: String) : boolean;
 var V: OLEvariant;
begin
  Result := True;
  try
    V:= CreateOLEObject(SJETENGINE);
    try
      V.CompactDatabase(SQLCOMPACTSRC + DB, SQLCOMPACTSRC + DB + SQLCOMPACTSRC1);
      DeleteFile(Pchar(DB));
      MoveFile(Pchar(DB + "x"), Pchar(DB))
     finally
      v:= Unassigned
    end;
   except
    Result := False
  end;
end;


 
Alex7   (2008-06-30 14:40) [9]

Если речь идет о редко выполняемой операции, то проще всего будет открывать базу самим Access и выполнять команду "Сжать и восстановить".
Можно также настроить автоматическое сжатие и восстановление, которое будет происходить каждый раз при закрытии Access-а.


 
azamatufa ©   (2008-07-07 16:45) [10]

http://www.exit.times.lv/download/delphi/ADO/ADO.html

см. в конце про JRO.



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

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

Наверх




Память: 0.49 MB
Время: 0.019 c
2-1231117634
VolMyr
2009-01-05 04:07
2009.02.22
Главная форма


2-1231532495
Б
2009-01-09 23:21
2009.02.22
TList


2-1231835601
b@v
2009-01-13 11:33
2009.02.22
Запрос ACCESS в DELPHI


2-1231913756
031178
2009-01-14 09:15
2009.02.22
Автофильтр


15-1230012779
Slider007
2008-12-23 09:12
2009.02.22
С днем рождения ! 23 декабря 2008 вторник