PDA

View Full Version : سوال: راهنمایی در مورد پشتیبان گیری به صورت اتوماتیک



mohammad_2039
چهارشنبه 16 شهریور 1390, 07:57 صبح
با سلام به دوستان گرامی
من برای اتصال، پشتیبان گیری و بازیابی پایگاه داده تو برنامه هام از کد زیر استفاده میکنم که با توجه به کد های مختلفی که بچه ها در همین سایت قرار دادن درست شده. این کار به صورت دستی انجام میشه ( اگه برنامه رو دانلود و یه پایگاه داده به نام test در sqlserver ایجاد کنید مشخصه چیکار میکنه ). راستش من میخوام قسمت پشتیبان گیری این برنامه اتوماتیک انجام بشه یعنی کد ها رو در رویداد مثلا FromClosing فرم مادر بنویسم که هر وقت کار بر خواست از برنامه خارج بشه، مثلا در آخرین درایو کامپیوتر یه پوشه به اسم backup بسازه و یه پشتیبان اونجا ذخیره کنه . که متاسفانه موفق نشدم. از دوستان خواهش میکنم این برنامه رو ببینن و اگه امکان داره بنده رو راهنمایی کنن.
با تشکر فراوان

mohammad_2039
پنج شنبه 17 شهریور 1390, 08:00 صبح
از دوستان کسی نمیتونه راهنمایی کنه ؟

exlord
جمعه 18 شهریور 1390, 18:15 عصر
خوب مشکلت چیه الان که نمیشه ؟ همون متد backup رو تو form_closing صدا کن با یه نا م مشخص ....

mohammad_2039
شنبه 19 شهریور 1390, 08:43 صبح
خوب مشکلت چیه الان که نمیشه ؟ همون متد backup رو تو form_closing صدا کن با یه نا م مشخص ....
با تشکر
نمیخوام صفحه FileDialog باز بشه و آدرس بخواد. میخوام خودش درایو آخر رو پیدا کنه و اگه پوشه Backup نبود یه پوشه به این نام ایجاد کنه و پشتیبان رو اونجا بریزه :لبخندساده:، اینکار رو نتونستم انجام بدم:ناراحت:

pedramj
شنبه 19 شهریور 1390, 13:47 عصر
اول چک کن ببین فولدر هست با کد زیر اگه بود که سیو کن اگه هم نبود بسازش

if(Directory.Exists(path))
{}

mohammad_2039
شنبه 19 شهریور 1390, 15:07 عصر
اول چک کن ببین فولدر هست با کد زیر اگه بود که سیو کن اگه هم نبود بسازش

if(Directory.Exists(path))
{}

با تشکر
اینو که فرمودید درست، مشکل من اینه که کار save رو با saveFileDialod انجام میدم. اگه بخوام اتوماتیک با بستن فرم اینکار انجام بشه و دیگه saveFileDialod باز نشه و اسم فایل و محل ذخیره نخواد باید چیکار کنم ؟!

pedramj
شنبه 19 شهریور 1390, 18:39 عصر
خوب چرا کلا صداش میزنی saveFileDialog رو , مگه محل ذخیره فایل رو نمی دونی ؟ چرا میخوای از کاربر بپرسی ؟
اونو حذف کن کلا (منظورم savefileDialog) و آدرس تو یه استرینگ بزار براش دیگه از کاربر نپرس فقط آدرست رو چک کن اگه نبود بسازیش همین

ehsanes
شنبه 19 شهریور 1390, 19:28 عصر
سلام

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
string path1 = @"D:test.backup";
string backup = @"backup database test to disk='"+path1+"'";

SqlConnection con = new SqlConnection();
SqlCommand cmd = new SqlCommand();
con.ConnectionString = "server=(local);database=test;trusted_connection=tr ue";
if (con.State != ConnectionState.Open)
{
con.Open();
}

cmd.Connection = con;
cmd.CommandText = backup;
cmd.ExecuteNonQuery();
con.Close();
}

داخل درایو d فایل test.backup میسازه

mohammad_2039
یک شنبه 20 شهریور 1390, 07:57 صبح
سلام

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
string path1 = @"D:test.backup";
string backup = @"backup database test to disk='"+path1+"'";

SqlConnection con = new SqlConnection();
SqlCommand cmd = new SqlCommand();
con.ConnectionString = "server=(local);database=test;trusted_connection=tr ue";
if (con.State != ConnectionState.Open)
{
con.Open();
}

cmd.Connection = con;
cmd.CommandText = backup;
cmd.ExecuteNonQuery();
con.Close();
}

داخل درایو d فایل test.backup میسازه

با تشکر فراوان
دوست عزیز چطوری میتونم تاریخ و زمان رو هم مثل نمونه برنامه که قرار دادم، به کد شما اضافه کنم. تا معلوم بشه پشتیبان در چه تاریخ و زمانی گرفته شده.

ehsanes
یک شنبه 20 شهریور 1390, 10:48 صبح
سلام
من برای نمایش تاریخ به صورت فارسی از کامپوننت اقای فرهانی استفاده می کنم یک کلاس با نام date درست کن و کد زیر در اون وارد کن

class date
{
public static string farsidate(DateTime date, Boolean farsi)
{
if (farsi == true)
{
cDate Farsi = new cDate();
Farsi.displyFormat = "YY;/;mm;/;dd";
return Farsi.fulDate(Farsi.getPersianDate(date));
}
else
{
cDate Farsi = new cDate();
Farsi.displyFormat = "dn;dd;MM;سال;yy";
return Farsi.getPersianDate(date);
}
}
}
بعد این خط
string path1 = @"D:test.backup";

به این خط تغییر بده
string path1 = "D:test.backup"+date.farsidate(DateTime.Now,false);

اون وقت داخل درایو d با این نام ذخیره میشه test.backup یکشنبه 20 شهریور سال 1390

kh2003
یک شنبه 20 شهریور 1390, 12:57 عصر
با تشکر فراوان
دوست عزیز چطوری میتونم تاریخ و زمان رو هم مثل نمونه برنامه که قرار دادم، به کد شما اضافه کنم. تا معلوم بشه پشتیبان در چه تاریخ و زمانی گرفته شده.

دوست عزیز شما میتونید با کد زیر تاریخ رو در یک متغیر string ذخیره کنی و در نام فایلت ازش استفاده کنی::


string s = DateTime.Now.ToString();


در ضمن میتونی با متد ToString() هم فرمتش رو تغییر بدی مثلا ::

string s = DateTime.Now.ToString("d/MM/yyyy");

vesall
یک شنبه 20 شهریور 1390, 15:27 عصر
سلام.

پشتیبان گیری دقیقا چکار می کنه ؟
یه کپی از پایگاه دادمون برمیداره ؟؟
و
برای اکسس چکار میشه کرد ؟
( من هنوز نتونستم پشتیبان گیری رو درک کنم ! ):خجالت: