Вниз
Скачать: 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.008 c
1-1207677282
Тыщ
2008-04-08 21:54
2009.02.22
Как выравнить код и данные на границу 16 байт?


3-1214400551
arhis
2008-06-25 17:29
2009.02.22
Размер базы Access


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


15-1230106923
igan
2008-12-24 11:22
2009.02.22
Формат хранения времени в файле


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




   Наверх