Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.26;
Скачать: CL | DM;

Вниз

Сжатие БД !   Найти похожие ветки 

 
D3viL   (2004-08-27 09:07) [0]

Как сжать и восстановить Базу Acess.
 1)При удалении данных размер базы не изменяется даже если в базе 1 запись.
 2)База может весить очень много (2Гб).
 
   В Acess"e есть менюшка:
   "сервис>служебные программы>сжать и восстановить базу"
    при выполнении бд становиться сжатой,
 как сделать такое в моей проге (в Делфи 7)!


 
46_55_41_44 ©   (2004-08-27 09:26) [1]

var
  je  : Variant;
  Dest,Src : WideString;
  curBase : String;
begin
 if MessageBox(Application.Handle, PChar("Do you really want to Compact database?"), PChar("RRProjects"),MB_YesNo) = mrNo then
   exit;
  AdoConnection.Close;//Close ADO Connection
 curBase := "Путь к базе\Имя.mdb";

 try
   Screen.Cursor := crHourGlass;
   Src := "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + curBase;
   Dest := "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + ExtractFilePath(curBase) + "\_pack$.mdb";
  try
    je := CreateOleObject("JRO.JetEngine");
  except
    MessageBox(Application.Handle, PChar("Cannot create JetEngine object!"), PChar("Error"),MB_ICONINFORMATION);
    exit;
  end;
   je.CompactDatabase(src, dest);
   DeleteFile(curBase);
   RenameFile(ExtractFilePath(curBase) + "\_pack$.mdb", curBase);
 finally
   AdoConnection.Close;
   screen.Cursor := crDefault;
 end;


 
46_55_41_44 ©   (2004-08-27 09:29) [2]

Да кстати выдрал это из своей проги... работает!!:)


 
Erik1   (2004-08-30 17:48) [3]

Лучше использовать MSJet.
{ Microsoft DAO 3.6 Object Library }
{ Version 5.0 }

GUID_DAO36: TGUID = (D1:$100; D2:0; D3:$10; D4:($80,0,0,$AA,0,$6D,$2E,$A4));

_DBEngine = interface(_DAO)
   ["{00000021-0000-0010-8000-00AA006D2EA4}"]
procedure CompactDatabase(const SrcName, DstName: WideString;DstLocale, Options, SrcLocale: OleVariant); safecall;
Также может понадобится
procedure RepairDatabase(const Name: WideString); safecall;

Это прямой интерфейс!



Страницы: 1 вся ветка

Текущий архив: 2004.09.26;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.037 c
14-1094481105
Заходитель
2004-09-06 18:31
2004.09.26
Горячий камень: блиц-опрос


3-1093695220
and
2004-08-28 16:13
2004.09.26
Список изменений при Cached Updates


6-1090215788
DimD
2004-07-19 09:43
2004.09.26
IdPOP3 и Proxy


4-1092820204
slavan
2004-08-18 13:10
2004.09.26
Буфер обмена и Делфи


14-1094374411
McSimm
2004-09-05 12:53
2004.09.26
Прошу понять меня правильно. Очень прошу.