الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

حفظ واستعادة قاعدة البيانات

بدأه paranoia في 25 سبتمبر 2011 · 2 رد · 591 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة من الله وبركاته

اخواني لدي مشروع قمت ببرمجته بواسطة vb2009 و كذا sql server 2008

ما أريده هو كود لعمل sauvegarde لحفظ قاعدة البيانات تفاديا لأي اتلاف لها فيما بعد

وكذا ارجاعها بواسطة Restauration أي ارجاعها

لكن اريد هاذين الكودين باستخدام ادوات openfiledialogue و savedialogue

لكي تعطي للمستعمل امكانية اختيار المسار المراد لحفظ قاعدة البيانات او لاسترجاعها

قمت بكتابة كود لحل هذا المشكل لكنه لم يشتغل والمشكلة في المسار الموضوع في cmd.commandtext لاني لم اعرف كيف لي ان اضع المسار فيه كما هو موضح أسفله

الصورة توضح الفورم المستعمل

684404261.jpg

هذا كود browser

Try

FBD.RootFolder = Environment.SpecialFolder.Desktop

FBD.ShowNewFolderButton = True

FBD.ShowDialog()

txtPath.Text = FBD.SelectedPath

Catch ex As Exception

MsgBox("The following error has been occurred while processing .." & vbNewLine & "* Error Type : " & ex.GetType.ToString & vbNewLine & "* Error Description : " & ex.Message, MsgBoxStyle.Critical, "اختيار قاعدة البيانات")

Exit Sub

End Try

fbd=file browser dialogue

هذا كود نسخ BD

con.Open()

cmd.Connection = con

cmd.CommandText = "backup database hotel to DISK=N'" & txtPath.Text & "''\hotel.bak'"

cmd.ExecuteNonQuery()

MsgBox("bieeeeeen")

con.Close()

هذا كود استعادة BD

con.Open()

cmd.Connection = con

cmd.CommandText = " RESTORE DATABASE hotel FROM DISK='D:\BACKUP\hotel.bak'"

cmd.ExecuteNonQuery()

MsgBox("bieeeeeen")

con.Close()

أريد منكم الحل جزاكم الله خيراا لاني ليس لي احد لكي أستفسره من غير هذا الصرح العظيم

نحياتي لكم

#2

السلام عليكم ورحمه الله وبركاته

لقد تم اغلاق موضوعك سابقا لعدم استخدام خاصيه البحث, ارجو استخدام خاصيه البحث بالمنتدى قبل السؤال!!

جرب الكود التالي لعمل نسخة احتياطيه

Dim conn As New SqlConnection("Server=[Server];Database=master;Integrated Security=true")
Dim cmd = As New SqlCommand(String.Format("backup database mydatabase to disk = '{0}'",SaveFileDialog1.FileName), conn)
conn.Open();
Cmd.ExecuteNonQuery()
conn.Close()

والكود التالي لعملية الاسترجاع

Dim conn As New SqlConnection("Server=[Server];Database=master;Integrated Security=true")
Dim cmd = As New SqlCommand(String.Format("restore database mydatabase from disk = '{0}'",OpenFileDialog1.FileName), conn)
conn.Open();
Cmd.ExecuteNonQuery()
conn.Close()

.:: Wish to become better and better ::.

#3

السلام عليكم ...

كان هناك خطأ في علامات التنصيص ..

و كذلك عبارة الــ Restore لأنه لم تعمل Backup للــ Log File و لذلك استخدمت الاستعادة مع الــ WITH REPLACE

و إليك الكود ...انه يعمل ...

Imports System.Data.SqlClient


Public Class Form1
    Dim con As SqlConnection
    Dim cmd As SqlCommand
    Dim dbName As String = "MyDB"



    Private Sub cmdBrows_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdBrows.Click
        Try

            FBD.RootFolder = Environment.SpecialFolder.Desktop
            FBD.ShowNewFolderButton = True
            FBD.ShowDialog()

            txtPath.Text = FBD.SelectedPath

        Catch ex As Exception
            MsgBox("The following error has been occurred while processing .." & vbNewLine & "* Error Type : " & ex.GetType.ToString & vbNewLine & "* Error Description : " & ex.Message, MsgBoxStyle.Critical, "اختيار قاعدة البيانات")
            Exit Sub

        End Try

    End Sub

    Private Sub cmdBackup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdBackup.Click
        con.Open()
        cmd.Connection = con
        cmd.CommandText = "backup database " & dbName & " to DISK=N'" & txtPath.Text & "\" & dbName & ".bak'"
        cmd.ExecuteNonQuery()
        MsgBox("bieeeeeen")
        con.Close()

    End Sub

    Private Sub cmdRestore_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdRestore.Click

        con.Open()
        cmd.Connection = con
        cmd.CommandText = " RESTORE DATABASE " & dbName & " FROM DISK='" & txtPath.Text & "\" & dbName & ".bak' WITH REPLACE"
        cmd.ExecuteNonQuery()
        MsgBox("bieeeeeen")
        con.Close()

    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
                con = New SqlConnection("password=mypas;Persist Security Info=False;User ID=myUser;Data Source=localhost")
        cmd = New SqlCommand()


    End Sub
End Class

تم تعديل هذه المشاركة بواسطة houssam11350_11350 في 26 سبتمبر 2011 في 01:56

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

مواضيع مشابهة