سلام
یه بانک اطلاعاتی دارم و می خوام ازش پشتیبان گیری کنم منتها زمان این کار رو کاربر بگه
یعنی اگه کاربر خواست روزانه باشه اگه خواست ماهانه باشه یا حتی تو یه بازه زمانی
ممنون میشم کمکم کنین
یه پروسه داخل آنلود فرم برنامه ات قرار بده تا در زمانهای خاص ( طبق تاریخی که خواستی ) در هنگام خروج از دیتابیس یک کپی بگیره و تو شاخه هاصی ذخیره کنه. حالا شما کجای این کار رو بلد نیستی ، بگو تا کمکت کنم
سلام.
می تونی نوع پشتیبان گیری (روزانه، هفتگی و...) و همینطور تاریخ آخرین پشتیبان گیری رو تو یه فایل بنویسی.
وقتی کاربر تغییری تو بخش پشتیبان گیری برنامه می ده یا زمان پشتیبان گیری رسید، یه کپی از دیتابیس رو به صورت DBName-YearMonthDay.bak
(مثلا: Article-20080112.bak) یه جایی ذخیره کن و تاریخش رو توی فایلت به روز کن (می تونی حتی ساعت و دقیقه رو هم بهش اضافه کنی).
اگه خوندن هر دو متغیر (نوع پشتیبان و تاریخ آخرین پشتیبان گیری) از توی یه فایل برات سخته میتونی هرکدوم رو تو فایل های جداگانه بنویسی تا کارت راحت تر بشه.
فکر نمی کنم سخت باشه ولی اگه مشکلی بود در بپرس.
mbza11 نوشته است:سلام.
می تونی نوع پشتیبان گیری (روزانه، هفتگی و...) و همینطور تاریخ آخرین پشتیبان گیری رو تو یه فایل بنویسی.
وقتی کاربر تغییری تو بخش پشتیبان گیری برنامه می ده یا زمان پشتیبان گیری رسید، یه کپی از دیتابیس رو به صورت DBName-YearMonthDay.bak
(مثلا: Article-20080112.bak) یه جایی ذخیره کن و تاریخش رو توی فایلت به روز کن (می تونی حتی ساعت و دقیقه رو هم بهش اضافه کنی).
اگه خوندن هر دو متغیر (نوع پشتیبان و تاریخ آخرین پشتیبان گیری) از توی یه فایل برات سخته میتونی هرکدوم رو تو فایل های جداگانه بنویسی تا کارت راحت تر بشه.
فکر نمی کنم سخت باشه ولی اگه مشکلی بود در بپرس.
همشهري جان كجاش راحته؟يادت رفته من تازه كارم
بيشتر كمكم كن
ممنون
Di Di نوشته است:یه پروسه داخل آنلود فرم برنامه ات قرار بده تا در زمانهای خاص ( طبق تاریخی که خواستی ) در هنگام خروج از دیتابیس یک کپی بگیره و تو شاخه هاصی ذخیره کنه. حالا شما کجای این کار رو بلد نیستی ، بگو تا کمکت کنم
سلام
ممنون از لطف شما و دوست خوبم mbza11
من زياد تو ويبي وارد نيستم و تازه شروع كردم
كپي گرفتن از ديتا بيس و ذخيره تو يه جاي خاص رو ممنون ميشم بيشتر توضيح بديد
با تشكر
اول دیتا بیس رو می بندی!!!!
بعد با استفاده از API ها و دستور Copyfile می تونی دیتابیستو جای دیگه کپی کنی!!!
اول برو به قسمت ریفرنسها و گزینه Microsoft Scripting Runtiome رو تیک بزن.
در قسمت جنرال برنامه ، متغیر FSO رو به شکل زیر تعریف کن.
Dim FSO as New FileSystemObject
حالا وارد برنامه می شیم. ما فرض می کنیم شما می خوای هر بار که برنامه بسته می شه از دیتابیستون یک کپی تهیه کنید. برای این منظور وارد ایونت Unload فرم برنامه می شیم و در اونجا دستورات مربوط به کپی کردن فایل دیتابیس رو می نویسیم. برای کپی کردن ابتدا باید فایل دیتابیس رو ببندیم یعنی هرچی دسترسی به فایل دیتابیس داشتیم باید قطع بشه و بازم یعنی هرچه DATA یا ADO به دیتابیسمون وصل شده باید به صورت زیر قطع بشه:
"" = Data1.databasename
Data1.refresh
و بعد از قطع ارتباط ب دیتابیس، اون رو با استفاده از دستور FileCopy به شاخه مورد نظر کپی می کنیم.
FileCopy [Your Database Path ] , [your backup pach] 'v
این یه الگریتم ساده است . حالا برای زمان بندی تهیه کپی و همینطور رویه ساخت نام فایل پشتیبان خودت باید دست به کار بشی و برای اون برنامه ریزی کنی.
موفق باشی
Di Di جان اینی که نوشتی خوبه ولی کارش که سخت تره!!!!
باید از File System Object استفاده کنه و Reference باید Add کنه
API که راحت تره!!!!
اون بالا API رو تعریف می کنه و با یه دستور تمومه
ولی گذشته از این حرفها حرف شما سنده!!! و بنده هم روی حرف شما حرفی نمی زنم!!!
شرمنده به خدا !! ما وسعمون بیشتر از این نمی رسید ;)
سلام.
با اجازه اساتید.
با توجه به اینکه این دوست عزیز گفتن مبتدی هستن و احتمال اینکه بتونن به درستی از API یا ریفرنس استفاده کنن کمه، من پیشنهاد می کنم از این کد استفاده کنه:
کد:
Dim objFSO
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.CopyFile "FileName.Ext", "FileName-" & Year(Now) & Month(Now) & Day(Now) & ".bac"
توضیحات؛
اول که آبجکت ساخته می شه و بعد:
1- FileName: اسم دیتابیس یا فایل
2- Ext: پسوند دیتابیس یا فایل
3- Year(Now): سال جاری
4- Month(Now): ماه جاری
5- Day(Now): روز جاری
Di Di جان من قصد بی احترامی نداشتم، شما استاد بنده ای
mbza11 عزیز، از اینکه انقدر خوب و با جزییات به این دوستمون کمک کردی ممنون(آخه خودم حال نوشتن نداشتم!!!!)