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

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



Память: 0.47 MB
Время: -0.992 c
1-1207772505
Dr.Andrew
2008-04-10 00:21
2009.02.22
Как создать плавно сворачивающийся и раскрывающийся контрол?


2-1231487437
321
2009-01-09 10:50
2009.02.22
abstracts methods


9-1177152550
BIX
2007-04-21 14:49
2009.02.22
скачать бесплатный движок


15-1229590972
cvg
2008-12-18 12:02
2009.02.22
Где найти dbexpmysql.dll для MySQL 4.1?


15-1230099931
БарЛог
2008-12-24 09:25
2009.02.22
Откуда фраза? (название фильма)




   Наверх