با سلام آخرش ما نتونستيم از بانك اكسس پشتيبان تهيه كنيم ؟
Printable View
با سلام آخرش ما نتونستيم از بانك اكسس پشتيبان تهيه كنيم ؟
سلام، اولش رو توضیح بده که چیکار کردی، به آخرش هم میرسیم
سلام
دوست عزیز
اگه از اکسس استفاده می کنید باید از کامپوننت برای پشتیبان گیری استفاده کنید چون خودش متدی برای این کار نداره ، یه کامپوننت میزارم که باهاش بتونید پشتیبان گیری کنید ، امیدوارم مشکلتون رو حل کنه.
لینک دانلود مستقیم:
کد:http://www.torry.net/vcl/filedrv/backup/backfile.zip
از کامپوننت ziptv استفاده کن و فایل mdb رو zip کن. این راحتترین کاره
سلام
ببخشيد!! نميشه با دستور Copyfile فايلي اصلي پايگاه داده رو در شاخه ويندوز ريخت. هروقت خواست بانك رو برگردونه از همين شاخه ويندوز استفاده كنه. اينجوري بهتر نيست؟ من چجند تا برنامه حسابداري ديدم (كه البته بانك اونا Accses نبوده) ولي از همين روش براي Back Up گيري استفاده مي كردن.
موفق باشي
باي
این روشی که شما میگی شدنی هست اما روشی خوبی نیست. اگر از کامپوننتهایی که دوستان معرفی کردند استفاده کنی حجم فایل backup کمتر میشه (compress) و سرعت عمل هم بیشتر.
موفق باشی
با سلام;
دوست خوبم, اگه بخواهیم از خود پایگاه کپی گرفته و اونو Backup در نظر بگیریم, خب اون وقت مفهوم Backup رو نقض کردیم.
امیدوارم این کد بتونه کمکت کنه (کار کردن باهاش از کامپوننت راحتتره):
کد:uses ZLib;
function CompressStrm(pSor, pDes: TStream): Single;
var
vCompStrm: TCompressionStream;
begin
vCompStrm:= TCompressionStream.Create(clMax, pDes);
try
vCompStrm.CopyFrom(pSor, pSor.Size);
Result:= vCompStrm.CompressionRate;
finally
vCompStrm.Free;
end;
end;
procedure DecompressStrm(pSor, pDes: TStream);
var
vDecompStrm: TDecompressionStream;
vNRead: Integer;
vBuffer: array[0..1023] of Char;
begin
vDecompStrm:= TDecompressionStream.Create(pSor);
try
repeat
vNRead:= vDecompStrm.Read(vBuffer, 1024);
pDes.Write(vBuffer, vNRead);
until vNRead = 0;
finally
vDecompStrm.Free;
end;
end;
procedure TForm1.Backup_BtnClick(Sender: TObject);
var
vS, vD: TFileStream;
begin
try
ADOConnection1.Close;
vS:= TFileStream.Create(ExtractFilePath(Application.ExeName) + 'نام پايگاه.mbb', fmOpenRead);
vD:= TFileStream.Create('C:\Backup.ABK', fmCreate or fmOpenWrite);
CompressStrm(vS, vD);
finally
vS.Free;
vD.Free;
ADOConnection1.Open;
// باز نمودن يک يک جدولها
Table1.Open;
end;
end;
--------------------------------------------------------------------------------------------
procedure TForm1.Restore_BtnClick(Sender: TObject);
var
vS, vD: TFileStream;
begin
try
ADOConnection1.Close;
vS:= TFileStream.Create('C:\Backup.ABK', fmOpenRead);
vD:= TFileStream.Create(ExtractFilePath(Application.ExeName) + 'نام پايگاه.mdb', fmCreate or fmOpenWrite);
DecompressStrm(vS, vD);
finally
vS.Free;
vD.Free;
ADOConnection1.Open;
// باز نمودن يک يک جدولها
Table1.Open;
end;
end;