ورود

View Full Version : سوال: نسخه پشتيبان از بانك اكسس در دلفي



mahdisam
چهارشنبه 23 اردیبهشت 1388, 10:58 صبح
با سلام :
من در تايپيك هاي قبل سوالم رو در اين مورد مطرح كردم ولي خيلي خوب متوجه نشدم .
من يك برنامه ثبت مشخصات جانبازان عزيز را دارم كه عنصر ارتباط اون Adotable هست .
و من براي ارتباط بانك از دو عنصر Adotable و datasource استفاده كردم و لي با وجود اين دو عنصر هيچ كاري در مورد بك آپ يا ري استور آن نكردم و در تايپيك هاي قبل و جوابهاي دوستان عزيز در كد هايي كه نوشتند با بودن adoconnection , و بقيه عنصر ها استفاده شد .

لطفاً كمكم كنيد .

merced
چهارشنبه 23 اردیبهشت 1388, 23:15 عصر
دوست عزيز. بانك اطلاعاتي اكسس امكاني براي پشتيبان گيري نداره و تنها راه گرفتن كپي از فايل mdb هست. توي دلفي مي توني از دستور CopyFile استفاده كني

سيد مجتبي هاشمي
سه شنبه 17 آذر 1388, 17:41 عصر
لطف ميكنيد كدش رو بنويسيد.

mehdimdp
چهارشنبه 18 آذر 1388, 21:06 عصر
سلام
اگه فقط بخواین از بانک اکسس یه کپی به عنوان پشتیبان بگیرید این یک خط کد , کار شما رو راه میندازه


CopyFile(yourbank address,new address,true);

سيد مجتبي هاشمي
چهارشنبه 18 آذر 1388, 21:22 عصر
آدرس فايل اكسس رو بايد كامل بنويسيم يا اينكه فقط نام فايل رو بايد بنويسيم؟

در ضمن هنگام نصب برنامه فايل مورد نظر در هر آدرسي ميتونه قرار بگيره.

mehdimdp
شنبه 21 آذر 1388, 21:21 عصر
اگه بانک شما کنار فایل exe (درفولدر یا بدون فولدر) باشه
با استفاده از دستور


ExtractFilePath(Application.ExeName)

میتونید آدرس کامل محل اجرای برنامه رو بدست بیاری که بعدش باید نام و (احتمالا) فولدر حاوی بانک رو اضافه کنی

nilidelphi
سه شنبه 24 آذر 1388, 10:19 صبح
دوست گرامی
اکسس یک دیتابیس است که خود وینذوز آنرا مدیریت می کند در حقیقت DBMS آن
سیستم عامل است
پس نمی توان در آن کدی برای پشتیبان گیری و بازیابی استفاده کرد ولی با دلفی میشه
از پایگاه داده اکسس بک آپ گرفت
اما روشی که دوستمان در بالا اشاره کردند زیاد کاربرد نداره
شما میتونین از کد زیر استفاده کنین :
کدی برای بک آپ گیری:


ADOTable1.savetofile('D:\folder\backup1.bak');

کدی برای بازیابی :


ADOTable1.loadfromfile('D:\folder\backup1.bak');


البته اینم بگم که اگر با این کد پشتیبان گیری کنید از همه ی اطلاعاتتان پشتیبان می گیرد.

موفق باشید.

:چشمک:

سعید صابری
سه شنبه 24 آذر 1388, 10:29 صبح
دوست گرامی
اکسس یک دیتابیس است که خود وینذوز آنرا مدیریت می کند در حقیقت DBMS آن
سیستم عامل است
پس نمی توان در آن کدی برای پشتیبان گیری و بازیابی استفاده کرد ولی با دلفی میشه
از پایگاه داده اکسس بک آپ گرفت
اما روشی که دوستمان در بالا اشاره کردند زیاد کاربرد نداره
شما میتونین از کد زیر استفاده کنین :
کدی برای بک آپ گیری:


ADOTable1.savetofile('D:\folder\backup1.bak');

کدی برای بازیابی :


ADOTable1.loadfromfile('D:\folder\backup1.bak');

البته اینم بگم که اگر با این کد پشتیبان گیری کنید از همه ی اطلاعاتتان پشتیبان می گیرد.

موفق باشید.




اين روش فقط يك فايل به xml اكسپورت مي كند. بعد هنگام لود اين فايل در حافظه باز مي كند. تاثيري در بانك ندارد. فكر كنم بهترين روش همون روش بالا باشه

nilidelphi
چهارشنبه 25 آذر 1388, 14:35 عصر
دوست عزیز اشتباه می کنید
با این دستور شما یک فایل با تمام ویژگی های دیتابیستون ایجاد می کنید که به راحتی می توانید بازگردانید.
من یکبار هم توضیح داده بودم.
می تونید امتحان کنید .

البته اگه بخواین مثل SQL server از همه ی اطلاعات دیتابیس بک آپ بگیره باید از stream ها استفاده کنید.
موفق باشید.
:متفکر:

farhad110
چهارشنبه 25 آذر 1388, 15:32 عصر
دوست عزیز اشتباه می کنید
با این دستور شما یک فایل با تمام ویژگی های دیتابیستون ایجاد می کنید که به راحتی می توانید بازگردانید.
سلام
کدی که شما نوشتید فقط اطلاعات یک جدول رو ذخیره میکنه
برای پشتیبان گیری میتونید یا فایل رو کپی کنید و یا از ابزاری مثل zLib استفاده کنید
موفق باشید

nilidelphi
یک شنبه 29 آذر 1388, 13:47 عصر
خوب عزیزم دیتابیس اکسس نیازی به بگ آپ گیری کامل نذاره یعنی نمیشه
اگه قرار باشه بک آپ از همه چیز گرفته بشه باید برای هر جزء یک کامپوننت در نظر گرفته و ذخیره کنید

farhad110
یک شنبه 29 آذر 1388, 19:59 عصر
خوب عزیزم دیتابیس اکسس نیازی به بگ آپ گیری کامل نذاره یعنی نمیشه
نیاز نداره یا نمیشه؟
-نیاز که داره چون درخواست دوستمون همینه
-شدنی هم که هست. توضیح مختصری دادم

اگه قرار باشه بک آپ از همه چیز گرفته بشه باید برای هر جزء یک کامپوننت در نظر گرفته و ذخیره کنید
حقیقتش من که متوجه نشدم چی فرمودید. بیشتر توضیح نمیدید!؟

mehdimdp
دوشنبه 30 آذر 1388, 10:12 صبح
به نظر من روش جناب nilidelphi يه جورايي لقمه رو دور سر چرخوندن هستش.

Emdad2001
دوشنبه 02 فروردین 1389, 15:54 عصر
دوست گرامی
اکسس یک دیتابیس است که خود وینذوز آنرا مدیریت می کند در حقیقت DBMS آن
سیستم عامل است
پس نمی توان در آن کدی برای پشتیبان گیری و بازیابی استفاده کرد ولی با دلفی میشه
از پایگاه داده اکسس بک آپ گرفت
اما روشی که دوستمان در بالا اشاره کردند زیاد کاربرد نداره
شما میتونین از کد زیر استفاده کنین :
کدی برای بک آپ گیری:


ADOTable1.savetofile('D:\folder\backup1.bak');

کدی برای بازیابی :


ADOTable1.loadfromfile('D:\folder\backup1.bak');


البته اینم بگم که اگر با این کد پشتیبان گیری کنید از همه ی اطلاعاتتان پشتیبان می گیرد.


موفق باشید.



:چشمک:


سلام .
من از کدهای شما استفاده کردم فقط یه مشکلی داره اینکه وقتی اطلاعات رو بازیابی میکنی ذخیره نمیشه

Emdad2001
جمعه 13 فروردین 1389, 10:13 صبح
جناب nilidelphi میشه بیشتر توضیح بدینچون مشکل من حل نشد همینکه اطلاعات رو باز گردانی میکنم
در بانک اطلاعاتی ذخیره نمیشود

sara_129
سه شنبه 17 فروردین 1389, 08:53 صبح
saaoaaaaaaaaaaaaaaaaaaaaaaaaallllllllllll komaaaaaaaaakkkkkkkkkkkkkkkkkkkkkkk

salam
.yek soal dashtam dar morede database dar delphi.
man mikhaham yek barname benevisam ba delphi ba database sql, vali etelaati ke lazem daram dar excel zakhire shode , va be dalile inke etelaat kheyli ziyad hastand emkane vared kardan dar sql nist. raveshi nist ke betonam ertebate excel va sql ra bargharar konam? mamnoon misham komakam konid

Felony
سه شنبه 17 فروردین 1389, 09:21 صبح
saaoaaaaaaaaaaaaaaaaaaaaaaaaallllllllllll komaaaaaaaaakkkkkkkkkkkkkkkkkkkkkkk

salam
.yek soal dashtam dar morede database dar delphi.
man mikhaham yek barname benevisam ba delphi ba database sql, vali etelaati ke lazem daram dar excel zakhire shode , va be dalile inke etelaat kheyli ziyad hastand emkane vared kardan dar sql nist. raveshi nist ke betonam ertebate excel va sql ra bargharar konam? mamnoon misham komakam konid
دوست عزیز قوانین سایت رو رعایت کن :
هر سوال در تاپیک مجزا ، در ضمن سوال SQL شما به تاپیک Access چه ربطی داره و در آخر هم فارسی بنویسید .

در مورد مشکلتون هم میتونید توسط کامپوننت XLSReadWrite در دلفی با یک فایل اکسل ارتباط برقرار کنید و با چند تا حلقه اطلاعات رو به SQL منتقل کنید .

pezhvakco
سه شنبه 17 فروردین 1389, 09:25 صبح
درود :
کاربر گرام : sara_129

1 ) این سایت فارسی است ، پرسش را فارسی بنویسید .
2) هر پرسش یه تایپیک جدا .
3) ابتدا جستجو بعد تایپیک زدن .
4 ) http://barnamenevis.org/forum/showthread.php?t=208910&highlight=%D8%A7%DA%A9%D8%B3%D9%84+Sql

فکر خوش .

nilidelphi
سه شنبه 17 فروردین 1389, 09:27 صبح
دوستان روشی که من عرض کردم به درستی اجرا میشه .
شاید شما روش اجرایتان درست نبوده.
البته روشی که دوستان در رابطه با کپی گرفتن گفتند راه آسونتریه و به قول یکه از دوستان روش من لقمه رو از پشت به دهان گذاشتن.

البته من قبلنا که از access استفاده میکردم از همین روشی که گفتم استفاده میکردم.

موفق باشید...:قلب:

danesh1351
جمعه 27 فروردین 1389, 20:10 عصر
دوست عزيز
بهترين روش كپي كردن فايل در مسير پشتيباني است .
و جهت بازيابي سعي كن از كپي و جايگزيني استفاده نكني و از روش فعال نمودن و ايجاد ارتباط با ديتابيس پشتيبان استفاده كني و بعد از ارتباط با فايل پشتيبان يك پيام مناسب براي كاربر بذاري تا متوجه بشه كه برنامه به فايل پشتيبان وصل شده يا فايل اصلي .

Emdad2001
دوشنبه 11 مرداد 1389, 23:14 عصر
دوستان روشی که من عرض کردم به درستی اجرا میشه .
شاید شما روش اجرایتان درست نبوده.
البته روشی که دوستان در رابطه با کپی گرفتن گفتند راه آسونتریه و به قول یکه از دوستان روش من لقمه رو از پشت به دهان گذاشتن.

البته من قبلنا که از access استفاده میکردم از همین روشی که گفتم استفاده میکردم.

موفق باشید...:قلب:

دوست عزيز من استفاده كردم از روش شما. مشكلي در پشتيباني و يا باز گرداني نيست مشكل اينجاست كه وقتي برميگردوني تو پايگاه ذخيره نميشه ميتوني الان امتحان كنيد !!!

با تشكر.:عصبانی++:

habibjalali
سه شنبه 14 دی 1395, 11:35 صبح
با سلام،
من از بانک اکسسم برای بک آپ گیری با همان روش copy file بک آپ گرفتم ، در ویندوز 7هیچ مشکلی نداره اما در ویندوز 10 نه بک آپ نه ریستور کار نمکند.