السلام وعليكم ورحمة الله وبركاته
اخواني الاعزاء الرجاء التكرم بمساعده بخصوص عمل نسخه احتياطيه واستعادتها
لملف قاعدة بيانات
حيث وانتي اسخدم localdb
وهذا كود الاتصال
,هذا كود الباك اب
وهذا كود الاستعاده
المشكله الان انه الباك اب يشتغل وينشئ نسخه مؤقته
وحين الاسترجاع كل شي تمام ويقلي تم الاسترجاع
بس لما اشوف السجلات مافي شي رجع من السجلات ولا كاني عملت استرجاع
وللعلم تم التاكد من ملف الباك اب لمعرفة المحتويات وكلها موجوده
المشكله في الاسترجاع فقط
هل احد عنده فكره او كود يساعدني فيه اكون شاكر لكم
اخواني الاعزاء الرجاء التكرم بمساعده بخصوص عمل نسخه احتياطيه واستعادتها
لملف قاعدة بيانات
حيث وانتي اسخدم localdb
وهذا كود الاتصال
كود :
sqlconn = New SqlConnection("Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\DB\DBFileName.mdf;Integrated Security=True;Connect Timeout=30"),هذا كود الباك اب
كود :
Dim Sfd As New SaveFileDialog() With {
.Filter = "Backup Files (*.bak)|*.bak|All Files (*.*)|*.*",
.FileName = "DBFileName_Backup.bak" ' Default file name for the backup
}
If Sfd.ShowDialog() = DialogResult.OK Then
Cursor = Cursors.WaitCursor
Try
' Check if the local database exists
If Not checkLocalDB() Then
MessageBox.Show("LocalDB not found or could not be opened.", "Database Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Return
End If
' Specify the full path to the database file
Dim dbFileFullPath As String = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "DB\POSDATABASE.mdf")
Dim sql As String = String.Format("BACKUP DATABASE ""{0}"" TO DISK = '{1}'", dbFileFullPath, Sfd.FileName)
Using sqlconn As New SqlConnection("Data Source=(LocalDB)\MSSQLLocalDB;Integrated Security=True;Connect Timeout=30")
sqlconn.Open()
Using cmd As New SqlCommand(sql, sqlconn)
cmd.ExecuteNonQuery()
End Using
End Using
MsgBox("Backup completed successfully!")
Catch ex As Exception
MessageBox.Show("Error: " & ex.Message, "Backup Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Finally
Cursor = Cursors.Default
End Try
End Ifوهذا كود الاستعاده
كود :
Dim openFileDialog As New OpenFileDialog()
openFileDialog.Filter = "Backup Files (*.bak)|*.bak|All Files (*.*)|*.*"
If openFileDialog.ShowDialog() = DialogResult.OK Then
Dim backupFilePath As String = openFileDialog.FileName
' Create a SqlConnection for your LocalDB
Dim connectionString As String = "Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\DB\POSDATABASE.mdf;Integrated Security=True;Connect Timeout=30"
Using sqlconn As New SqlConnection(connectionString)
sqlconn.Open()
' Construct the SQL command for database restore
Dim restoreSql As String = $"USE Master; ALTER DATABASE POSDATABASE SET Single_User WITH Rollback Immediate; RESTORE DATABASE POSDATABASE FROM DISK='{backupFilePath}' WITH REPLACE; ALTER DATABASE POSDATABASE SET Multi_User;"
' Execute the SQL command
Using cmd As New SqlCommand(restoreSql, sqlconn)
cmd.ExecuteNonQuery()
End Using
' Close the SqlConnection
sqlconn.Close()
MessageBox.Show("Restore completed successfully!")
End Using
End Ifالمشكله الان انه الباك اب يشتغل وينشئ نسخه مؤقته
وحين الاسترجاع كل شي تمام ويقلي تم الاسترجاع
بس لما اشوف السجلات مافي شي رجع من السجلات ولا كاني عملت استرجاع
وللعلم تم التاكد من ملف الباك اب لمعرفة المحتويات وكلها موجوده
المشكله في الاسترجاع فقط
هل احد عنده فكره او كود يساعدني فيه اكون شاكر لكم

