Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2009.02.22;
Скачать: [xml.tar.bz2];

Вниз

Размер базы 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.005 c
15-1230090393
Slider007
2008-12-24 06:46
2009.02.22
С днем рождения ! 24 декабря 2008 среда


4-1205755686
rosl
2008-03-17 15:08
2009.02.22
закрыть файл


2-1231500357
Scot Storch
2009-01-09 14:25
2009.02.22
ID menu item


2-1231743195
b@v
2009-01-12 09:53
2009.02.22
ComboBox


2-1231486350
_N_
2009-01-09 10:32
2009.02.22
Как узнать об изменении положения курсора в TListView?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский