![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Размер базы Access
arhis © (2008-06-25 17:29:00)Получаю данные в программу через ADO и заметил что через некторое время база через которую идет обмен (Access) пухнет просто в разы. Кто-нибудь знает что это такое и как привести базу в начальное состояние?
azamatufa (2008-07-07 16:45:00) [1]http://www.exit.times.lv/download/delphi/ADO/ADO.html
см. в конце про JRO.
Alex7 (2008-06-30 14:40:00) [2]Если речь идет о редко выполняемой операции, то проще всего будет открывать базу самим Access и выполнять команду "Сжать и восстановить".
Можно также настроить автоматическое сжатие и восстановление, которое будет происходить каждый раз при закрытии Access-а.
Сашик (2008-06-29 22:18:00) [3]Попробуйте следующую функцию:
(на всякий случай предварительно сохраните оригиналный *.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;
Правильный-Вася (2008-06-27 17:08:00) [4]
> в конце каждой сессии
это занятие для админа базы, а не пользователя, особенно если он не один
Johnmen (2008-06-27 16:57:00) [5]
> как мне это 1сделать через TADOTable?
Никак.
arhis (2008-06-27 16:55:00) [6]Ок, я хочу очистить все буферы и корзины в конце каждой сессии, как мне это 1сделать через TADOTable?
Правильный-Вася (2008-06-25 19:34:00) [7]
> как до нее добраться?
с какой целью?
если чистить - есть упаковка
для других целей - не стоит оно того
arhis (2008-06-25 17:36:00) [8]То есть в базе данных Access есть "корзина"? И как до нее добраться?
Правильный-Вася (2008-06-25 17:34:00) [9]
> база через которую идет обмен
если данные при обмене удаляются, потом на их место появляются новые и сначала, то размер со времемен стабилизируется, т.к. место в корзине начинает использоваться повторно
Ega23 (2008-06-25 17:31:00) [10]удалённые записи помещаются в "Корзину", а не удаляются вообще.
Была там какая-то опция, то-ли упаковать базу, то-ли как-то ещё...