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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.048 c
4-1091445353
the_ram
2004-08-02 15:15
2004.09.26
Tray


1-1094655106
roma
2004-09-08 18:51
2004.09.26
WebBrowser


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


4-1092406955
webpauk
2004-08-13 18:22
2004.09.26
ShortCat для меню


6-1090148743
mrGrey
2004-07-18 15:05
2004.09.26
Автозаполнение.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский