منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : تعديل مسار مكان حفظ النسخة الاحتياطية
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
هذا مثال صغير لنسخ واسترجاع قواعد بيانات sql  ويشتغل 100%

المطلوب:
تعديل مكان حفظ النسخة الاحتياطية بدلا من القرص © إلى مجلد  البرنامــج  ---   (Debug)  .....   (BackupFolder)
واسترجاعها من نفس المجلد

[attachment=30044]
هل من إجابة
أريد تغيير مكان حفظ النسخة الاحتياطية فقط من قرص السي إلى مجلد موجود في مجلد الديباق
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 
(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 

هذا هـــو ما أريدهُ بالضبط
أسالُ اللهَ العظيمَ في هذا الشهرِ المباركِ أن يمنَّ عليك بالصحـةِ والعافيـةِ
وأن يرزقكَ من خيري الدنيا والآخـرة
وأن يغفرَ لكَ في هـذا الشهرِ المبارك، ويُدخلك من أبواب الجنان، ويُبعدك عنك حــرّ النارِ والزمهريـر
لي رجاء واتمني تحقيقهبحق الشهر الكريم

اريد فورمة الشاة الافتتاحية التي نختار فيها اسم السرفر
ثم نحدد الصلاحية
ثم يعرض القواعد المتاحة ثم نختار منها القاعدة المطلوبة ويمكن عمل اختيارات حفظ كل هذا لسرعة الدخول وفي حالة عدم وجود القاعدة يتم انشاؤها
ومنها نستفيد بالمشروع الوارد بالمشاركة في كيفية الحفظ وعمل نسخ احتياطي
(02-03-25, 02:44 AM)atefkhalf2004 كتب : [ -> ]لي رجاء  واتمني   تحقيقهبحق الشهر الكريم

اريد  فورمة    الشاة الافتتاحية   التي نختار فيها اسم السرفر
ثم نحدد الصلاحية
ثم   يعرض   القواعد   المتاحة    ثم نختار منها القاعدة المطلوبة  ويمكن عمل اختيارات  حفظ كل هذا    لسرعة الدخول  وفي  حالة    عدم وجود  القاعدة يتم انشاؤها
ومنها نستفيد  بالمشروع الوارد بالمشاركة  في كيفية الحفظ  وعمل نسخ احتياطي

اطلع على هذا الموضوع قد ينفعك فيما تريد
http://vb4arb.com/vb/showthread.php?tid=30862&page=4

وعندي مثال صغير لما طلبت ربما أجده عندي في الجهاز
لي مشاركة وطلبت رفع المثال ولم يتم
اخي
برجاء
رفع حتي علي الخاص
فورمة السرفر
فورمة النسخ الاحتياطي
ولك جزيل الشكر
للاسف انا من الاشخاص من يجد صعوبة في التنفيذ
لذا طلبت هذا
شكرا
اتمني تلبية طلبي
atefkhalf2004@gmail.com
egypt