Главная страница
    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.032 c
1-1095069887
ORMADA
2004-09-13 14:04
2004.09.26
BPL


1-1094971529
Leaner
2004-09-12 10:45
2004.09.26
Создание файла с именем пользователя. (Пользователь.txt)


14-1094060278
lipskiy
2004-09-01 21:37
2004.09.26
Как из IE вычистить бар, который сам туда встроился?


14-1094401976
Stany
2004-09-05 20:32
2004.09.26
исходник для подсчета интернет траффика


1-1095139121
_newver_
2004-09-14 09:18
2004.09.26
преобразование типов при подключении DLL





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