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

Вниз

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

 
Neo Trinitron ©   (2006-09-01 11:34) [0]

Простой вопрос для тех кто знает. В MS Access можно в настройках БД установить "сжимать базу при закрытии". И это прекрасно работает. Но будет ли это работать если я работаю с базой не через Access, а через ADO (OLE DB) в Delphi?


 
sniknik ©   (2006-09-01 11:37) [1]

нет конечно, настройки в любой программе действуют только внутри этой программы. а используемый движок "через ADO" (jet) это вовсе не Access.


 
sniknik ©   (2006-09-01 11:39) [2]

сделай себе такую же настройку и выполняй сжатие при закрытии своей программы... если так уж нужно.


 
Neo Trinitron ©   (2006-09-01 11:51) [3]

А как можно сжать из своей программы? И это же как никак настройка базы данных, а не Access... Надеялся что этим занимается движок jet :(


 
umbra ©   (2006-09-01 12:44) [4]

msaccess.exe /compact "c:\db1.mdb"


 
Neo Trinitron ©   (2006-09-01 12:47) [5]

umbra, а если MS Access на машине не стоит? Да ещё есть желание записать в лог корректно ли выполнено сжатие/восстановление? Это что процедура MS Access? Ms jet для mdb не имеет в своём арсенале такой функции?


 
palva ©   (2006-09-01 13:12) [6]

> а если MS Access на машине не стоит?
DAO может сжать.


 
umbra ©   (2006-09-01 13:12) [7]


> Ms jet для mdb не имеет в своём арсенале такой функции?

имеет, скорее всего. Если использовать ДАО, то там у объекта DBEngine есть метод CompactDatabase, который выполняет сжатие. Как им воспользоваться не из ДАО, я не знаю


 
sniknik ©   (2006-09-01 13:33) [8]

у джет в jro одноименный метод CompactDatabase, dao лучше не использовать, устарел.
пример из хелпа (бейсик)

Public Sub CompactAndEncrypt()

  Dim je As New JRO.JetEngine

  " Make sure that a file doesn"t exist with the name of
  " the compacted database.
  If Dir("C:\Program Files\Microsoft Office\" & _
     "Office\Samples\Northwind2.mdb") <> "" Then Kill _
     "C:\Program Files\Microsoft Office\Office\Samples\Northwind2.mdb"

  " Compacts and encrypts version Northwind database.
  je.CompactDatabase _
  "Provider=Microsoft.Jet.OLEDB.4.0;" & _
     "Data Source=C:\Program Files\Microsoft Office\" & _
     "Office\Samples\Northwind.mdb", _
  "Provider=Microsoft.Jet.OLEDB.4.0;" & _
     "Data Source=C:\Program Files\Microsoft Office\" & _
     "Office\Samples\Northwind2.mdb;" & _
  "Jet OLEDB:Encrypt Database=True"

End Sub


 
Neo Trinitron ©   (2006-09-01 14:04) [9]

sniknik, спасибо за пример. Но что представляет из себя "JRO.JetEngine"? Это COM объект? Если да, то как к нему приконектиться в дельфе?


 
palva ©   (2006-09-01 14:09) [10]

umbra ©   (01.09.06 13:12) [7]

procedure TForm1.Button2Click(Sender: TObject);
var
 dao: OLEVariant;
begin
 dao := CreateOleObject("DAO.DBEngine.36");
 dao.CompactDatabase("D:\C\MDB\em.mdb", "D:\C\MDB\em1.mdb");
 dao := Unassigned;
end;

и в uses прописать unit ComObj


 
Neo Trinitron ©   (2006-09-01 14:27) [11]

palva, вах! Красивый пример, попробую.



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

Форум: "Базы";
Текущий архив: 2006.10.29;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.064 c
15-1160057772
ArtemESC
2006-10-05 18:16
2006.10.29
Работа...


11-1137157074
-=Mike=-
2006-01-13 15:57
2006.10.29
Вопрос по отображению окна


15-1160051525
vidiv
2006-10-05 16:32
2006.10.29
Глюк со звуком... толи с винампом


1-1158764711
Alvin
2006-09-20 19:05
2006.10.29
Бесплатный Хостинг с поддержкой CGI на Delphi


15-1160447688
Slider007
2006-10-10 06:34
2006.10.29
С днем рождения ! 10 октября





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