Вниз
Скачать: CL | DM;

Восстановление базы Access   Найти похожие ветки 

← →
Monk ©   (2003-06-10 11:18) [0]

Мастера помогите. Как восстановить посыпавшуюся базу програмным путем (из Делфи).


← →
sniknik ©   (2003-06-10 11:58) [1]

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;


← →
Monk ©   (2003-06-10 12:01) [2]

А разве Compact восстанавливает, а не только сжимает?


← →
sniknik ©   (2003-06-10 12:08) [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:13) [4]

Ага значит Compact должен делать и Repair, бо база 2000я.Спасибо.


← →
NewD   (2003-06-10 12:17) [5]

Кстати RepairDatabase восстанволаввает не всегда.
У меня когда вылетала RepairDatabase не смог восстановить , а CompactDatabase восстановил.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
4-7761
tytus
2003-04-28 23:57
2003.07.03
wm_


1-7518
K_ostya
2003-06-21 20:38
2003.07.03
Screenshot


3-7295
Rem
2003-06-08 20:16
2003.07.03
Конкатенация строк в SQL-запросе, если одна из них NULL


14-7621
Giemgo
2003-06-17 21:23
2003.07.03
Как бросить курить ?


7-7735
DeadMeat
2003-04-21 17:28
2003.07.03
Мой компьютер




   Наверх