تعديل مسار مكان حفظ النسخة الاحتياطية - مصمم هاوي - 28-02-25
هذا مثال صغير لنسخ واسترجاع قواعد بيانات sql ويشتغل 100%
المطلوب:
تعديل مكان حفظ النسخة الاحتياطية بدلا من القرص © إلى مجلد البرنامــج --- (Debug) ..... (BackupFolder)
واسترجاعها من نفس المجلد
[attachment=30044]
RE: تعديل مسار مكان حفظ النسخة الاحتياطية - مصمم هاوي - 28-02-25
هل من إجابة
أريد تغيير مكان حفظ النسخة الاحتياطية فقط من قرص السي إلى مجلد موجود في مجلد الديباق
RE: تعديل مسار مكان حفظ النسخة الاحتياطية - Zuhare - 01-03-25
PHP كود :
Imports System.IO Imports System.Data.SqlClient
Public Class Form_DatabseManager
Dim SqlConnection1 As New SqlClient.SqlConnection("Data Source=" & My.Computer.Name & ";Initial Catalog=tempdb;Integrated Security=SSPI;")
Dim p = Application.StartupPath & "\BackupFolder\"
Dim f1 As String Dim f2 As String Dim MYDBNAME As String Dim dt As String
Private Sub Form_DatabseManager_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load ' ضبط مكان الفورم Me.StartPosition = FormStartPosition.WindowsDefaultLocation Me.TopMost = True Me.Top = 50 ' تكبر القيمة ستنزل Me.Height = 390 Me.Width = 749
Fill_Combdatabases()
End Sub
Private Sub Fill_Combdatabases() Dim DS As New DataSet Dim str As String = "Select DISTINCT name from master.dbo.sysdatabases where name not IN('master','msdb','tempdb' ,'model') and has_dbaccess(Name) = 1 order by name " Dim ADP As SqlClient.SqlDataAdapter ADP = New SqlClient.SqlDataAdapter(str, SqlConnection1) DS.Clear() ADP.Fill(DS)
Me.ComboBox1.Items.Clear() Me.ComboBox2.Items.Clear()
Dim i As Integer For i = 0 To DS.Tables(0).Rows.Count - 1 Me.ComboBox1.Items.Add(DS.Tables(0).Rows(i).Item(0)) Me.ComboBox2.Items.Add(DS.Tables(0).Rows(i).Item(0)) Next ADP.Dispose() End Sub
Private Sub ButBackup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButBackup.Click Me.Cursor = Cursors.WaitCursor Try Dim CMD As New SqlCommand("backup database " & Me.ComboBox1.Text.Trim & " to disk=@PATHFILE with init", SqlConnection1) CMD.Parameters.AddWithValue("@PATHFILE", Me.TextDirectory1.Text) SqlConnection1.Open() CMD.ExecuteNonQuery() MessageBox.Show("تم إنشاء نسخـه احتياطية من قاعــدة البيانات الحالية" & " فى المسار التالى " & vbCrLf & vbCrLf & Me.TextDirectory1.Text.Trim, "انشاء نسخه احتياطيه", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2, MessageBoxOptions.DefaultDesktopOnly) Catch ex As Exception MessageBox.Show("عفـواً ... فشل إنشاء نسخـه احتياطيـة ", "إنشاء نسخـه احتياطيه", MessageBoxButtons.OK, MessageBoxIcon.Information) Finally SqlConnection1.Close() End Try Me.ComboBox1.Text = "" Me.TextDirectory1.Text = "" Me.Cursor = Cursors.Default End Sub
Private Sub ButDirectory1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButDirectory1.Click If Me.ComboBox1.SelectedIndex = -1 Then MessageBox.Show("من فضلك حدد قاعـدة البيانات ", "الرجـاء ... تحديد قاعــدة البيانات", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1) Me.ComboBox1.Focus() Exit Sub End If If Directory.Exists(p) = False Then Directory.CreateDirectory(p) Me.TextDirectory1.Text = p & Me.ComboBox1.Text.Trim & Format(Now, "dd-MM-yyyy-hh-mm-tt") & ".dmp" End Sub
Private Sub ButDirectory2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButDirectory2.Click Dim dlgCommonDialog1 As New OpenFileDialog dlgCommonDialog1.InitialDirectory = p dlgCommonDialog1.Title = "الرجـاء ... تحديد موقـع النسخـة الاحتياطيـة" dlgCommonDialog1.Filter = "SQL DATABASE FILES BACKUP (*.dmp)|*.dmp|All Files(*.*)|*.*" If dlgCommonDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then Me.TextDirectory2.Text = dlgCommonDialog1.FileName End If End Sub
Private Sub ButRestor_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButRestor.Click If Len(Me.ComboBox2.Text) = 0 Then MessageBox.Show("من فضلك حدد قاعـدة البيانات ", "الرجـاء ... تحديد قاعـدة البيانات", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading) Me.ComboBox2.Focus() Exit Sub End If Me.Cursor = Cursors.WaitCursor Try Dim CMD As New SqlCommand("restore database " & Me.ComboBox2.Text.Trim & " from disk =@PATHFILE ", SqlConnection1) SqlConnection1.Open() CMD.Parameters.AddWithValue("@PATHFILE", Me.TextDirectory2.Text) CMD.ExecuteNonQuery() MessageBox.Show("تم استرجاع البيانات من النسخـة الاحتياطيـة بنجــاح", "استرجاع البيانات", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2) Catch ex As Exception MessageBox.Show("عفـواً ... فشل استرجاع البيانات من النسخـة الاحتياطيـة", "استرجاع البيانات", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2) Finally SqlConnection1.Close() End Try Me.ComboBox2.Text = "" Me.TextDirectory2.Text = "" Me.Cursor = Cursors.Default End Sub
Private Sub TEXT3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextDirectory1.TextChanged Me.ButBackup.Enabled = Me.TextDirectory1.TextLength > 0 AndAlso Len(Me.ComboBox1.Text) > 0 End Sub
Private Sub TEXT4_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextDirectory2.TextChanged Me.ButRestor.Enabled = Me.TextDirectory2.TextLength > 0 AndAlso Len(Me.ComboBox2.Text) > 0 End Sub
Private Sub ButExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButExit.Click Me.Close() End Sub
End Class
RE: تعديل مسار مكان حفظ النسخة الاحتياطية - مصمم هاوي - 01-03-25
(01-03-25, 01:49 AM)Zuhare كتب : PHP كود :
Imports System.IO Imports System.Data.SqlClient
Public Class Form_DatabseManager
Dim SqlConnection1 As New SqlClient.SqlConnection("Data Source=" & My.Computer.Name & ";Initial Catalog=tempdb;Integrated Security=SSPI;")
Dim p = Application.StartupPath & "\BackupFolder\"
Dim f1 As String Dim f2 As String Dim MYDBNAME As String Dim dt As String
Private Sub Form_DatabseManager_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load ' ضبط مكان الفورم Me.StartPosition = FormStartPosition.WindowsDefaultLocation Me.TopMost = True Me.Top = 50 ' تكبر القيمة ستنزل Me.Height = 390 Me.Width = 749
Fill_Combdatabases()
End Sub
Private Sub Fill_Combdatabases() Dim DS As New DataSet Dim str As String = "Select DISTINCT name from master.dbo.sysdatabases where name not IN('master','msdb','tempdb' ,'model') and has_dbaccess(Name) = 1 order by name " Dim ADP As SqlClient.SqlDataAdapter ADP = New SqlClient.SqlDataAdapter(str, SqlConnection1) DS.Clear() ADP.Fill(DS)
Me.ComboBox1.Items.Clear() Me.ComboBox2.Items.Clear()
Dim i As Integer For i = 0 To DS.Tables(0).Rows.Count - 1 Me.ComboBox1.Items.Add(DS.Tables(0).Rows(i).Item(0)) Me.ComboBox2.Items.Add(DS.Tables(0).Rows(i).Item(0)) Next ADP.Dispose() End Sub
Private Sub ButBackup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButBackup.Click Me.Cursor = Cursors.WaitCursor Try Dim CMD As New SqlCommand("backup database " & Me.ComboBox1.Text.Trim & " to disk=@PATHFILE with init", SqlConnection1) CMD.Parameters.AddWithValue("@PATHFILE", Me.TextDirectory1.Text) SqlConnection1.Open() CMD.ExecuteNonQuery() MessageBox.Show("تم إنشاء نسخـه احتياطية من قاعــدة البيانات الحالية" & " فى المسار التالى " & vbCrLf & vbCrLf & Me.TextDirectory1.Text.Trim, "انشاء نسخه احتياطيه", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2, MessageBoxOptions.DefaultDesktopOnly) Catch ex As Exception MessageBox.Show("عفـواً ... فشل إنشاء نسخـه احتياطيـة ", "إنشاء نسخـه احتياطيه", MessageBoxButtons.OK, MessageBoxIcon.Information) Finally SqlConnection1.Close() End Try Me.ComboBox1.Text = "" Me.TextDirectory1.Text = "" Me.Cursor = Cursors.Default End Sub
Private Sub ButDirectory1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButDirectory1.Click If Me.ComboBox1.SelectedIndex = -1 Then MessageBox.Show("من فضلك حدد قاعـدة البيانات ", "الرجـاء ... تحديد قاعــدة البيانات", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1) Me.ComboBox1.Focus() Exit Sub End If If Directory.Exists(p) = False Then Directory.CreateDirectory(p) Me.TextDirectory1.Text = p & Me.ComboBox1.Text.Trim & Format(Now, "dd-MM-yyyy-hh-mm-tt") & ".dmp" End Sub
Private Sub ButDirectory2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButDirectory2.Click Dim dlgCommonDialog1 As New OpenFileDialog dlgCommonDialog1.InitialDirectory = p dlgCommonDialog1.Title = "الرجـاء ... تحديد موقـع النسخـة الاحتياطيـة" dlgCommonDialog1.Filter = "SQL DATABASE FILES BACKUP (*.dmp)|*.dmp|All Files(*.*)|*.*" If dlgCommonDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then Me.TextDirectory2.Text = dlgCommonDialog1.FileName End If End Sub
Private Sub ButRestor_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButRestor.Click If Len(Me.ComboBox2.Text) = 0 Then MessageBox.Show("من فضلك حدد قاعـدة البيانات ", "الرجـاء ... تحديد قاعـدة البيانات", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading) Me.ComboBox2.Focus() Exit Sub End If Me.Cursor = Cursors.WaitCursor Try Dim CMD As New SqlCommand("restore database " & Me.ComboBox2.Text.Trim & " from disk =@PATHFILE ", SqlConnection1) SqlConnection1.Open() CMD.Parameters.AddWithValue("@PATHFILE", Me.TextDirectory2.Text) CMD.ExecuteNonQuery() MessageBox.Show("تم استرجاع البيانات من النسخـة الاحتياطيـة بنجــاح", "استرجاع البيانات", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2) Catch ex As Exception MessageBox.Show("عفـواً ... فشل استرجاع البيانات من النسخـة الاحتياطيـة", "استرجاع البيانات", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2) Finally SqlConnection1.Close() End Try Me.ComboBox2.Text = "" Me.TextDirectory2.Text = "" Me.Cursor = Cursors.Default End Sub
Private Sub TEXT3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextDirectory1.TextChanged Me.ButBackup.Enabled = Me.TextDirectory1.TextLength > 0 AndAlso Len(Me.ComboBox1.Text) > 0 End Sub
Private Sub TEXT4_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextDirectory2.TextChanged Me.ButRestor.Enabled = Me.TextDirectory2.TextLength > 0 AndAlso Len(Me.ComboBox2.Text) > 0 End Sub
Private Sub ButExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButExit.Click Me.Close() End Sub
End Class
هذا هـــو ما أريدهُ بالضبط
أسالُ اللهَ العظيمَ في هذا الشهرِ المباركِ أن يمنَّ عليك بالصحـةِ والعافيـةِ
وأن يرزقكَ من خيري الدنيا والآخـرة
وأن يغفرَ لكَ في هـذا الشهرِ المبارك، ويُدخلك من أبواب الجنان، ويُبعدك عنك حــرّ النارِ والزمهريـر
RE: تعديل مسار مكان حفظ النسخة الاحتياطية - atefkhalf2004 - 02-03-25
لي رجاء واتمني تحقيقهبحق الشهر الكريم
اريد فورمة الشاة الافتتاحية التي نختار فيها اسم السرفر
ثم نحدد الصلاحية
ثم يعرض القواعد المتاحة ثم نختار منها القاعدة المطلوبة ويمكن عمل اختيارات حفظ كل هذا لسرعة الدخول وفي حالة عدم وجود القاعدة يتم انشاؤها
ومنها نستفيد بالمشروع الوارد بالمشاركة في كيفية الحفظ وعمل نسخ احتياطي
RE: تعديل مسار مكان حفظ النسخة الاحتياطية - مصمم هاوي - 02-03-25
(02-03-25, 02:44 AM)atefkhalf2004 كتب : لي رجاء واتمني تحقيقهبحق الشهر الكريم
اريد فورمة الشاة الافتتاحية التي نختار فيها اسم السرفر
ثم نحدد الصلاحية
ثم يعرض القواعد المتاحة ثم نختار منها القاعدة المطلوبة ويمكن عمل اختيارات حفظ كل هذا لسرعة الدخول وفي حالة عدم وجود القاعدة يتم انشاؤها
ومنها نستفيد بالمشروع الوارد بالمشاركة في كيفية الحفظ وعمل نسخ احتياطي
اطلع على هذا الموضوع قد ينفعك فيما تريد
http://vb4arb.com/vb/showthread.php?tid=30862&page=4
وعندي مثال صغير لما طلبت ربما أجده عندي في الجهاز
RE: تعديل مسار مكان حفظ النسخة الاحتياطية - atefkhalf2004 - 02-03-25
لي مشاركة وطلبت رفع المثال ولم يتم
اخي
برجاء
رفع حتي علي الخاص
فورمة السرفر
فورمة النسخ الاحتياطي
ولك جزيل الشكر
للاسف انا من الاشخاص من يجد صعوبة في التنفيذ
لذا طلبت هذا
شكرا
اتمني تلبية طلبي
atefkhalf2004@gmail.com
egypt
|