نمایش نتایج 1 تا 6 از 6

نام تاپیک: خطای دیستابیس درحال استفاده در هنگام بازیابی دیتابیس

  1. #1

    خطای دیستابیس درحال استفاده در هنگام بازیابی دیتابیس

    با سلام
    بعد از بکاپ گرفتن، وقتی که می خوام دیتابیس رو بازیابی کنم خطای دیتابیس در حال استفاده است می آید .
    فکر کنم این خطا به خاطر اینه که من به صورت ویزاردی دیتابیس رو به برنامه شناسوندم . یعنی وقتی که دیتا گراید رو به صورت ویزاردی به دیتابیس وصل می شه این کد در فرم لود می آید :

    this.table_Kala_MojoodTableAdapter.Fill(this.foroo  shgaheKala_DatabaseDataSet._Table_Kala_Mojood);            


    حالا وقتی این کد رو برمی دارم مشکل برطرف میشه ولی من در جاهای مختلفی از این کد استفاده کردم حالا اگر بخوام این کد رو بردارم تقریبا کل کد نویسیسم رو باید تغییر بدم .

    از دوستان می خوام که چطوری می تونم بدون برداشتن این کد، این مشکل رو برطرف کنم ؟
    ممنون

  2. #2
    کاربر دائمی آواتار میلاد قاضی پور
    تاریخ عضویت
    بهمن 1388
    محل زندگی
    اوج بلند
    پست
    768

    نقل قول: خطای دیستابیس درحال استفاده در هنگام بازیابی دیتابیس

    یه بول تعریف کنید و مقدار پیش فرض رو مثلا فالس بدید . بنویسید تا زمانی که فالس هست این کد رو اجرا کنه . حالا موقع ریستور کردن یه لحظه اون متغیر رو ترو کنید تا این کد اجرا نشه و مزاحمت برطرف بشه کار که انجام شد بعد دوباره فالسش کنید تا این کد دوباره فعال بشه... ها؟

  3. #3

    نقل قول: خطای دیستابیس درحال استفاده در هنگام بازیابی دیتابیس

    این کار رو کردم ولی مثل اینکه کافیه یک بار این کد اجرا بشه تا همون خطا رو بده !

  4. #4
    کاربر دائمی آواتار MSN_Issue
    تاریخ عضویت
    آبان 1388
    محل زندگی
    مشهدالرضا
    پست
    586

    نقل قول: خطای دیستابیس درحال استفاده در هنگام بازیابی دیتابیس

    فکر میکنم تنها راهش اینه که خودتون دیتا بیس رو ست کنید !

  5. #5
    کاربر دائمی آواتار حجتی نیا
    تاریخ عضویت
    دی 1387
    محل زندگی
    ایران
    پست
    400

    نقل قول: خطای دیستابیس درحال استفاده در هنگام بازیابی دیتابیس

    منم مثه شما از این دست دستورات دارم اما از این کد واسه رستور استفاده میکنم و مشکلم هم حل شده :
    objconnection.Open();
    if (openFileDialog_restore.ShowDialog() == DialogResult.OK)
    if (openFileDialog_restore.FileName.EndsWith(".bak") == true)
    {
    backgroundWorker1.RunWorkerAsync();
    string s1 = "ALTER DATABASE [" + Application.StartupPath + "\\sodour.mdf] SET OFFLINE WITH ROLLBACK IMMEDIATE";
    string s2 = "ALTER DATABASE [" + Application.StartupPath + "\\sodour.mdf] SET MULTI_USER";
    string query = "RESTORE DATABASE [" + Application.StartupPath + "\\sodour.mdf] FROM DISK ='" + openFileDialog_restore.FileName + "' WITH RECOVERY,REPLACE";
    SqlCommand cmd = new SqlCommand();
    cmd.CommandText = s1;
    cmd.Connection = objconnection;
    cmd.ExecuteNonQuery();

    cmd.CommandText = s2;
    cmd.Connection = objconnection;
    cmd.ExecuteNonQuery();

    cmd.CommandText = query;
    cmd.Connection = objconnection;
    cmd.ExecuteNonQuery();

    cmd.Dispose();
    backgroundWorker1.CancelAsync();
    Application.Restart();
    }
    else
    FarsiMessageBox.FMessageBox.Show("فایل با پسوند .bak انتخاب کنید", "خطا", FarsiMessageBox.FMessageBoxButtons.OK, FarsiMessageBox.FMessageBoxIcons.Error, FarsiMessageBox.FMessageBoxDefaultButtons.Button3) ;

  6. #6
    کاربر دائمی آواتار حجتی نیا
    تاریخ عضویت
    دی 1387
    محل زندگی
    ایران
    پست
    400

    نقل قول: خطای دیستابیس درحال استفاده در هنگام بازیابی دیتابیس

    منم مثه شما از این دست دستورات دارم اما از این کد واسه رستور استفاده میکنم و مشکلم هم حل شده :
    objconnection.Open();
    if (openFileDialog_restore.ShowDialog() == DialogResult.OK)
    if (openFileDialog_restore.FileName.EndsWith(".bak") == true)
    {
    backgroundWorker1.RunWorkerAsync();
    string s1 = "ALTER DATABASE [" + Application.StartupPath + "\\sodour.mdf] SET OFFLINE WITH ROLLBACK IMMEDIATE";
    string s2 = "ALTER DATABASE [" + Application.StartupPath + "\\sodour.mdf] SET MULTI_USER";
    string query = "RESTORE DATABASE [" + Application.StartupPath + "\\sodour.mdf] FROM DISK ='" + openFileDialog_restore.FileName + "' WITH RECOVERY,REPLACE";
    SqlCommand cmd = new SqlCommand();
    cmd.CommandText = s1;
    cmd.Connection = objconnection;
    cmd.ExecuteNonQuery();

    cmd.CommandText = s2;
    cmd.Connection = objconnection;
    cmd.ExecuteNonQuery();

    cmd.CommandText = query;
    cmd.Connection = objconnection;
    cmd.ExecuteNonQuery();

    cmd.Dispose();
    backgroundWorker1.CancelAsync();
    Application.Restart();
    }
    else
    FarsiMessageBox.FMessageBox.Show("فایل با پسوند .bak انتخاب کنید", "خطا", FarsiMessageBox.FMessageBoxButtons.OK, FarsiMessageBox.FMessageBoxIcons.Error, FarsiMessageBox.FMessageBoxDefaultButtons.Button3) ;

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •