Главная страница
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.044 c
1-1094729619
Sandman25
2004-09-09 15:33
2004.09.26
Оптимизация try finally


4-1092319395
почемука
2004-08-12 18:03
2004.09.26
Послать сообщение о перерисовке всем окнам


6-1090447381
Skyhawk
2004-07-22 02:03
2004.09.26
Как зайти в систему на удаленном компьютере


8-1088511384
_PG_
2004-06-29 16:16
2004.09.26
Длина строки в пикселах ...


1-1094569297
Боян Георгиев
2004-09-07 19:01
2004.09.26
Проблем с конструктором