![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Восстановление базы Access [D6, Access]
Monk © (2003-06-10 11:18:00)Мастера помогите. Как восстановить посыпавшуюся базу програмным путем (из Делфи).
NewD (2003-06-10 12:17:00) [1]Кстати RepairDatabase восстанволаввает не всегда.
У меня когда вылетала RepairDatabase не смог восстановить , а CompactDatabase восстановил.
Monk (2003-06-10 12:13:00) [2]Ага значит Compact должен делать и Repair, бо база 2000я.Спасибо.
sniknik (2003-06-10 12:08:00) [3]можеш использовать RepairDatabase
var DBEngine: Variant;
begin
DBEngine:= CreateOleObject("DAO.DBEngine.35");
try
ADOConnection1.Close;
DBEngine.RepairDatabase(MyBase);
finally
DBEngine:= Null;
end;
end;
но в "36" его уже нет, "35" не поддерживает 2000ю базу а в хелпе написано
RepairDatabase Method
Note The RepairDatabase method is no longer available, but listed for backwards compatibility. Use the CompactDatabase method instead.
Monk (2003-06-10 12:01:00) [4]А разве Compact восстанавливает, а не только сжимает?
sniknik (2003-06-10 11:58:00) [5]var JROje: Variant;
begin
JROje:= CreateOleObject("JRO.JetEngine");
try
ADOConnection1.Close;
JROje.CompactDatabase("Provider=Microsoft.Jet.OLEDB.4.0;"+
"Data Source="+MyBase+";",
"Provider=Microsoft.Jet.OLEDB.4.0;"+
"Data Source="+TmpBase+";"+
"Jet OLEDB:Encrypt Database=True");
DeleteFile(MyBase);
RenameFile(TmpBase, MyBase);
finally
JROje:= Null;
end;
end;