Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.03;
Скачать: 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 вся ветка

Текущий архив: 2003.07.03;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.02 c
4-7751
sosv
2003-04-30 11:48
2003.07.03
Invalidate


1-7406
LinOS
2003-06-23 06:33
2003.07.03
В ListBox хочу выделять Item правой кнопкой мыши.


3-7366
off
2003-06-11 10:01
2003.07.03
IB два в одном или как по умному слить два файла *.gdb в один?


1-7536
Lion
2003-06-14 22:35
2003.07.03
Как узнать дату ?


3-7320
Aleksandr
2003-06-09 16:31
2003.07.03
Как корректно добавить калькулироемое поле?