PDA

View Full Version : Repair کردن بانک اطلاعات Access در دلفی



Behzad_Asharkhan
سه شنبه 13 اردیبهشت 1384, 14:23 عصر
سلام

با استفاده از OLEVariant میخوام یه فایل mdb رو Compact and Repair کنم
با استفاده از این کد:


Var
DAO: OLEVariant;
AppDir: String;
begin
AppDir := ExtractFilePath(Application.ExeName);
DAO := CreateOleObject('DAO.DBEngine.36');
DAO.CompactDatabase(AppDir + '_Matab.mdb', AppDir + '_Matab1.mdb');
// DAO.RepairDatabase(AppDir + '_Matab1.mdb');

کد مربوط به Repair کار نمیکنه. :گیج: ( همونجا که rem شده )
کسی میدونه برای Repair چه کار کنم؟

مرسی.
.

دنیای دلفی
سه شنبه 13 اردیبهشت 1384, 18:22 عصر
در بخش کدهای مربوط به دلفی آقای (پسر خاک) درباره فشرده سازی و تعمیر دیتابیسهای Access مفصل کد نویسی کرده است .

:موفق:

Behzad_Asharkhan
چهارشنبه 14 اردیبهشت 1384, 08:03 صبح
مرسی از توجهتون

این کد رو که آقای پسر خاک نوشتن قبلا تست کرده بودم.



uses
ComObj;

function CompactAndRepair(DB: string): Boolean; {DB = Path to Access Database}
var
v: OLEvariant;
begin
Result := True;
try
v := CreateOLEObject('JRO.JetEngine');
try
V.CompactDatabase('Provider=Microsoft.Jet.OLEDB.4. 0;Data Source='+DB,
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+DB+'x;Jet OLEDB:Engine Type=5');
DeleteFile(DB);
RenameFile(DB+'x',DB);
finally
V := Unassigned;
end;
except
Result := False;
end;
end;

این هم پیام خطا میده.

کسی این کد ها رو تست کرده؟
:گیج: