تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
النسخ الاحتياطي والاسترجاع
#1
السلام عليكم ورحمة الله
اخواني استخدم الكود البرمجي الاتي لغرض النسخ الاحتياطي والاسترجاع

ويعملون بشكل جيد .. لكن الاشكالية الوحيدة انه بعد عملية النسخ الاختياطي والاسترجاع ... مؤشر الماوس يتغير الى حالة التحميل ويبقى في شكل حالة التحميل حتى بعد اكمال النسخ الاحتياطي او الاسترجاع

كود :
Sub Backup()

       Dim dt As DateTime = Today
           Dim destdir As String = "possystemdb" & System.DateTime.Now.ToString("dd-MM-yyyy_h-mm-ss") & ".bak"
           Dim objdlg As New SaveFileDialog
           objdlg.FileName = destdir
           objdlg.ShowDialog()
           Filename = objdlg.FileName
           Cursor = Cursors.WaitCursor
           Timer2.Enabled = True
           con.Open()
           Dim sql As String = "backup database possystemdb to disk='" & Filename & "'with init,stats=10"
           Dim cmd As New SqlCommand(sql)
           cmd.Connection = con
           cmd.ExecuteReader()
           con.Close()
           MessageBox.Show("تم حفظ النسخة الاحتياطية من قاعدة البيانات")

   End Sub

   Public Sub RestoreDatabase()
       Try
           With OpenFileDialog1
               .Filter = ("DB Backup File|*.bak;")
               .FilterIndex = 4
           End With
           'Clear the file name
           OpenFileDialog1.FileName = ""
           If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
               Cursor = Cursors.WaitCursor
               Timer2.Enabled = True
               SqlConnection.ClearAllPools()
               con.Open()
               Dim sql As String = "USE Master ALTER DATABASE possystemdb SET Single_User WITH Rollback Immediate Restore database possystemdb FROM disk='" & OpenFileDialog1.FileName & "' WITH REPLACE ALTER DATABASE possystemdb SET Multi_User "
               Dim cmd As New SqlCommand(sql)
               cmd.Connection = con
               cmd.ExecuteReader()
               con.Close()
               MessageBox.Show("تمت استعادة قاعدة البيانات بنجاح", "استعادة القاعدة ", MessageBoxButtons.OK, MessageBoxIcon.Information)
           End If
       Catch ex As Exception
           MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
       End Try

   End Sub
الرد }}}
تم الشكر بواسطة:
#2
أعتقد ستنتهي المشكلة لو قمت بحذف الأمر التالي من كود النسخ والاسترجاع :
Cursors.WaitCursor
الرد }}}
تم الشكر بواسطة: mohamedassim , Taha Okla , Taha Okla , asmarsou
#3
اشكرك نعم تم حل المشكلة .. ممتن جدا
الرد }}}
تم الشكر بواسطة: asmarsou , أبو خالد الشكري
#4
العفو
بالتوفيق إن شاء اللّه
الرد }}}
تم الشكر بواسطة: mohamedassim



التنقل السريع :


يقوم بقرائة الموضوع: