تعديل في نسخ واستعادة قاعدة بيانات 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, "تنبيـه"
بارك الله فيكم وجزاكم كل خير أيـن المشكلـة؛ لقد تعبتُ وأنا أبحث عن الحل؛ ولكن دون جدوى ؟!!!!
|