منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
تعديل في نسخ واستعادة قاعدة بيانات SQL - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغات البرمجة الاخرى (http://vb4arb.com/vb/forumdisplay.php?fid=4)
+--- قسم : قسم لغة vb6.0 (http://vb4arb.com/vb/forumdisplay.php?fid=18)
+---- قسم : قسم أسئلة vb6.0 (http://vb4arb.com/vb/forumdisplay.php?fid=28)
+---- الموضوع : تعديل في نسخ واستعادة قاعدة بيانات SQL (/showthread.php?tid=50811)



تعديل في نسخ واستعادة قاعدة بيانات SQL - مصمم هاوي - 18-12-24

السلام عليكم ورحمـة الله وبركاتـه
لدى مثال صغير من برمجـة الأستاذ الكبير - الحاضر الغائب - أحمد منصـور جزاهُ الله كلّ خير لنسخ واستعادة قاعدة بيانات SQL
ولكن لم أستطع حقيقةً أن استخدمه في مشروعـي، والمطلــوب:
هل يمكن التعديـل على هذا المثال ليتلاءم مع مشروعـي
اســم السيرفر : OMRAN
اسـم قاعـدة البيانات : library
جملـة الاتصـال :
كود :
Public Sub Connect_DataBase()
On Error Resume Next
' ==================
If cn.State = 1 Then cn.Close
On Error GoTo erorr
cn.Open "Provider=SQLOLEDB.1;Integrated SECURITY=SSPI;Persist SECURITY Info=False;Initial Catalog=library  ;Data Source=" & ServerName
activation = True
Exit Sub
erorr:
MsgBox "خطاء في اسم بالسيرفر", , "بيانات السيرفر"
activation = False
  Exit Sub

End Sub



RE: تعديل في نسخ واستعادة قاعدة بيانات SQL - مصمم هاوي - 19-12-24

!!!!!!!
عجيب وهل الأمر صعب بهذا البرنامج القديم هههههه


RE: تعديل في نسخ واستعادة قاعدة بيانات SQL - مصمم هاوي - 28-12-24

تمت عمليــة النسخ بنجــــــــــاح، وما زالت عمليـــــــة الاستعادة يشوبها بعض الأخطـاء في الكود
وعن نجـــاح العمليـــة سيتم إرفاق المثال إن شاء الله تعالى


RE: تعديل في نسخ واستعادة قاعدة بيانات SQL - مصمم هاوي - 01-01-25

هـذا كود نسخ قاعدة البيانات يشتغل تمام

كود :
Private Sub Backup()
' ÕÈ ÇáäÓÎ
CmdBackup.Enabled = False
CmdRestor.Enabled = False

Dim a As String
On Error GoTo herr
 
If DB.State = 1 Then DB.Close

Call bance_mydb

   Dim RecAffected As Long

   DB.Execute "SELECT name FROM master.dbo.sysdevices WHERE name = N'library_Bup'", RecAffected
 
   If RecAffected = 0 Then

      DB.Execute " exec sp_addumpdevice 'disk','library_Bup','" & App.Path & "\library.pac'"

    ElseIf MsgBox(" Ëã ÇáÚËÜæÑ Úáì äÓÎÜÜÉ ÇÍÊíÇØíÜÉ ÃÎÜÑì" & vbCrLf & " ? åÜá ÊÑíÜÏ ÇÓÊÈÏÇá ÇáäÓÎÜÜÜÉ ÇáÍÇáíÜÜÉ ", vbYesNo + vbCritical, " ÅÍÜÜÑÇÁ ÇáäÓÜÎ ...   ") = vbNo Then
           MsgBox " áÇ ÊæÌÜÏ äÓÎÜÉ ÇÍÊíÇØíÜÉ ÌÏíÜÏÉ ", vbInformation
           
CmdBackup.Enabled = True
CmdRestor.Enabled = True

           Exit Sub
     
   End If
        ElseIf MsgBox(" ثم العثـور على نسخــة احتياطيـة أخـرى" & vbCrLf & " ? هـل تريـد استبدال النسخـــة الحاليــة ", vbYesNo + vbCritical, " إحــراء النسـخ ...   ") = vbNo Then
           MsgBox " لا توجـد نسخـة احتياطيـة جديـدة ", vbInformation

CmdBackup.Enabled = True
CmdRestor.Enabled = True
               
Exit Sub
herr:
MsgBox Err.Description, vbCritical

End Sub

المشكلة في كود الاستعادة

كود :
Private Sub Restore()
' صب الاستعادة
Dim Restore_Command As String
Dim Server_Name As String
Dim Database_Name As String
Dim BackupFileName As String
Dim Command_Result As String

Server_Name = "."
Database_Name = "library"
BackupFileName = App.Path & "\library.pac"

Restore_Command = "SQLCMD -E -S " & Server_Name & " -Q " & Chr$(34) & "RESTORE DATABASE " & Database_Name & " FROM DISK='" & BackupFileName & "'" & Chr$(34)

CmdRestor.Enabled = False
DoEvents

Command_Result = ExecuteCommand(Restore_Command)
DoEvents

If InStr(1, LCase$(Trim$(Command_Result)), "restore database successfully") <> 0 Then
  MsgBox "تمت عمليــة الاستعادة بنجــاح", vbOKOnly + vbInformation + vbMsgBoxRight, "إجــراء الاستعادة"

Else
  MsgBox " عذرا لم تتم عملية الاستعادة ... حدث خطأ ", vbExclamation + vbMsgBoxRight, "تنبيـه"

End If

CmdRestor.Enabled = True

End Sub

ولكن تظهر الرسالة التالية
كود :
  MsgBox " عذرا لم تتم عملية الاستعادة ... حدث خطأ ", vbExclamation + vbMsgBoxRight, "تنبيـه"

بارك الله فيكم وجزاكم كل خير أيـن المشكلـة؛ لقد تعبتُ وأنا أبحث عن الحل؛ ولكن دون جدوى ؟!!!!