تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
طريقة عمل النسخ الإحتياطى و إسترجاع البيانات بكل سهوولة
#1
[SIZE="4"][SIZE="4"]
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته


هذه مشاركة متواضعة لى فى المنتدى أسأل الله عز وجل أن ينفع بها الجميع وقد كنت قد أعدتتها من قبل فى منتدى الأقصر سيستمز و لكن أحببت أن تعم الفائدة ويستفيد أكبر عدد من الناس.

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

ولذلك حتى لا نقوم بتكليف العميل ما لا يطيق, أن يقوم كل يوم بالدخول لقاعدة البيانات لعمل نسخ إحتياطى و إسترجاع البيانات إذا دعت الضرورة لذلك, نعطيه خيار يقوم بتلك الوظائف من خلال الرنامج.

وكنت فى أحد برامجى قد أعددت هذا الأمر وأحببت أن تعم الفائدة..


نقوم بعمل قائمة رئيسية ويكون فيها عنصر ين (أحدهما حفظ و الآخر فتح) كما موضح فى الصورة السابقة.

قبل أن نبدأ بعملية كتابة كود الحفظ يجب علينا عمل موديول (Module) ونضع فيه هذا الكود

كود :
Module Module
Imports System.Data.SqlClient
Public myConnection As SqlConnection
    Public reader As SqlClient.SqlDataReader
    Public myCommand As SqlClient.SqlCommand
    Public mydataadapter As SqlClient.SqlDataAdapter
    Public con_str As String = "server=(local);trusted_connection=true;database=&Your database Name&" مع مراعاة إسم الداتا بيز

  Public Function Command(ByVal Command_query As String) As Integer
        myConnection = New SqlClient.SqlConnection(Modul.con_str)
        myCommand = New SqlClient.SqlCommand(Command_query, myConnection)
        myCommand.Connection.Open()
        Return myCommand.ExecuteNonQuery
        myCommand.Connection.Close()
    End Function
End Module

[SIZE="4"]ولضمان الصحة ظلل كل الموديول وبعد ذلك إعمل طباعة لكل الكود

وبعد ذلك فى العنصر حفظ من القائمة الرئيسية ضع هذاالكود(ونحتاج هنا ل SaveFileDialog و ProgressBar )[/SIZE]
كود :
Cursor = Cursors.WaitCursor
        SaveFileDialog1.OverwritePrompt = True
        SaveFileDialog1.InitialDirectory = "D:\BackupData" 'change to your backup path
        SaveFileDialog1.Filter = "Backup Files (*.Bak)|*.BaK"
        If SaveFileDialog1.ShowDialog() = DialogResult.OK Then 'And Not SaveFileDialog1.FileName.Equals("") Then
            '    MsgBox("Please type the backup file name " & vbCr & "فضلاً أدخل إسم ملف النسخة الإحتياطية", MsgBoxStyle.Critical, msg_title)
            'Else
            OpenFileDialog1.InitialDirectory = "D:\BackupData"
            Dim BackupInformation As String = SaveFileDialog1.FileName
            Command("backup database[color=red] Your_DataBase_Name [/color]to disk='" & BackupInformation & "'with password='[color=red]Choose your password'[/color]")
            Dim I As Integer
            For I = 1 To 5000
                ProgressBar1.Visible = True
                ProgressBar1.Minimum = 1
                ProgressBar1.Maximum = 5000
                ProgressBar1.Step = 1
                ProgressBar1.Value = I
                If I = 5000 Then
                    ProgressBar1.Visible = False
                End If
            Next
            MsgBox("Database was successfully Backuped" & vbCr & "تم نسخ البيانات بنجاح", MsgBoxStyle.Information, msg_title)
        End If
        Cursor = Cursors.Default
وبعد ذلك فى العنصر حفظ من القائمة الرئيسية ضع هذاالكود(ونحتاج هنا ل OpenFileDialog )


كود :
Cursor = Cursors.WaitCursor
        OpenFileDialog1.InitialDirectory = "D:\BackupData" 'change to your backup path
        OpenFileDialog1.Filter = "Backup Files (*.BaK)|*.BaK"
        If OpenFileDialog1.ShowDialog() = DialogResult.OK And Not OpenFileDialog1.FileName.Equals("") Then
            Command("use master RESTORE DATABASE [color=red]Your Database name [/color]FROM disk='" & OpenFileDialog1.FileName & "' With password=[color=red]'Choose Your Password'[/color], Move 'Your Database name_Data' to 'C:\Program Files\Microsoft SQL Server\MSSQL\Data\Your Database name_Data.mdf',Move 'Your Database name_Log' to 'C:\Program Files\Microsoft SQL Server\MSSQL\Data\Your Database name_Log.ldf',Replace")
            Dim I As Integer
            For I = 1 To 5000
                ProgressBar1.Visible = True
                ProgressBar1.Minimum = 1
                ProgressBar1.Maximum = 5000
                ProgressBar1.Step = 1
                ProgressBar1.Value = I
                If I = 5000 Then
                    ProgressBar1.Visible = False
                End If
            Next
            MsgBox("Database was successfully restored" & vbCr & "تم إسترجاع البيانات بنجاح", MsgBoxStyle.Information, msg_title)
        Else
            MsgBox("Error !,No file" & vbCr & "خطأ، لايوجد ملف", MsgBoxStyle.Information, msg_title)
        End If
      
        Cursor = Cursors.Default
[SIZE="4"]ملحوظة:[/SIZE]
    [SIZE="3"]
  1. كلمة Choose Your Password تعنى أن تكتب الباسورد اللى إنت عاوزو علشان تحمى النسخة الإحتاطية
  2. الإخوة الذين يستخدمون إصدار قاعدة بيانات أحدث من sqlserver 2000 يجب عليهم مراعاة مسار حفظ و فتح النسخة الإحتياطية.

و الآن جرب و إدعيلى

وأنا جاهز حول أى إستفسار بخصوص هذا الموضوع و الموضوع مفتوح لإضافة أى مشاركة[/SIZE][/SIZE][/SIZE]
الرد }}}
تم الشكر بواسطة:
#2
انا قراءت الكود ولم استطع تجربته علي قاعدة بيانات من نوع اكسس نرجو من سيادتكم اعادة كتابة الكود علي قاعدة بيانات اكسس علي مثال المرفق ولسيادتكم جزيل الشكر


الملفات المرفقة
.rar   سيارات.rar (الحجم : 94.65 ك ب / التحميلات : 181)
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [مثال] طريقة إنشاء قاعدة sql بواسطة script برمجيا وكتابة أسمها بواسطة العميل princelovelorn 9 8,104 26-03-23, 04:24 PM
آخر رد: sanyor77
Wink [درس فيديو] طريقة العرض و التعديل داخل قاعدة البياناتSQL alims 0 1,307 14-06-21, 05:35 PM
آخر رد: alims
  خطأ في الاتصال بقاعدة البيانات djelloul 0 1,670 11-07-20, 04:21 PM
آخر رد: djelloul
  [درس فيديو] طريقة تثبيت قاعدة البيانات sql alims 0 2,073 16-07-19, 07:27 AM
آخر رد: alims
  مثال للعمليات علي قواعد البيانات مع الشرح mr_mgm 2 5,130 21-11-18, 04:20 AM
آخر رد: Ebrahim5556
  الكامل في قواعد البيانات rinawi 15 25,832 15-10-18, 01:19 AM
آخر رد: viv
Wink [مقال] وداعا لملل كتابة الاكود لعرض لقاعدة البيانات اكسس و سيكوال (الجزء الثانى) alims 4 4,799 19-08-18, 02:08 PM
آخر رد: elgokr
  سكريبت إنشاء قاعدة البيانات لل SQL SERVER عبد العزيز البسكري 4 5,779 03-07-18, 08:34 PM
آخر رد: elgokr
Big Grin وداعا لملل كتابة الاكود الاضافة لقاعدة البيانات اكسس و سيكوال alims 15 11,993 06-05-18, 01:15 PM
آخر رد: viv
  كيفية تحزيم برنامج وتضمين معه قاعدة البيانات شرح بالصور مبرمج بلا حدود 30 41,654 20-07-16, 06:58 PM
آخر رد: ahmedfa71

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم