Главная страница
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.011 c
1-1207894891
webpauk
2008-04-11 10:21
2009.02.22
проблема Listview


15-1230069029
Kerk
2008-12-24 00:50
2009.02.22
Как это понять?


2-1231636459
demon
2009-01-11 04:14
2009.02.22
Окно на поверхности


3-1215427949
REA
2008-07-07 14:52
2009.02.22
Вложенный запрос с 2мя параметрами


11-1197536513
Dodfr
2007-12-13 12:01
2009.02.22
Hide Tab inside TabControl ?