تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] مشروع نسخ احتياطي
#1
السلام عليكم 

ارجو مساعدتي في برنامج النسخ الاحتياطي 
البرنامج يشتغل 100 في 100 على الجهاز الرئيسي (السيرفر)
لكن لا يشتغل على الشبكة في اجهزة الكلانت 
يقوم بجلب اسم الجهاز الخاص بالكلانت.
.

المشروع مرفق 
ارجو المساعدة


الملفات المرفقة
.rar   النسخ الاحتياطي.rar (الحجم : 1.05 م ب / التحميلات : 13)
الرد
تم الشكر بواسطة:
#2
مبدأيا لدي ملاحظة تتعلق بجملة الاستعلام التي استخدمتها لاستعادة النسخة الاحتياطية
انت استخدمت الجملة التالية
كود :
 ("RESTORE DATABASE " & cmbdatabase.Text & " FROM disk='" & OpenFileDialog1.FileName & "'")

هذه الجملة تستعيد نسخة احتياطية لقاعدة بيانات موجودة اما اذا كانت غير موجودة فسيتم انشاءها 
وفي حال كانت قاعدة البيانات موجودة فستم الاستعادة بنجاح شرط ان لا تكون قاعدة البيانات قيد الاستخدام اما اذا كانت قيد الاستخدام فستفشل الاستعادة ويظهر خطأ طبعا انت ستقول لي ان قاعدة البيانات ليست قيد الاستخدام انا ارد عليك انه في كثير من الاحيان نغلق جميع الاتصالات بقاعدة البيانات ولكن تبقى قيد الاستخدام وهذا يفسر ان الكود الاول الذي استخدمته انت ينجح احيانا واحيانا لا وعند الاستخدام الطويل لبرنامجك سيظهر لك انه حتى من المخدم الرئيسي ستظهر مشاكل
ولكن هناك جملة استخدام اخرى لحل هذه المشكلة على الشكل الاتي
كود :
"ALTER DATABASE " & DATABASEE & " SET OFFLINE WITH ROLLBACK IMMEDIATE; RESTORE DATABASE " & DATABASEE & " From Disk ='" + OpenFileDialog1.FileName + "' ALTER DATABASE " & DATABASEE & " SET ONLINE WITH ROLLBACK IMMEDIATE"
المتغير databasee يحمل اسم قاعدة البيانات
في هذا الامر يقم بتحويل قاعدة البيانات الى الوضع offline ثم يجري عملية الاستعادة ثم يرجع قاعدة البيانات الى الوضع online ولكن هذا اذا كانت قاعدة البيانات موجودة اما اذا كانت غير موجودة مثل انه تم حذفها بالخطأ فعندئد لن تتم الاستعادة وستظهر رسالة الخطأ
------
ومن خلال بحثيي وتجربتي وجدت انه اغلب الشروحات على مواقع النت على اليوتيوب عند شرح الاستعادة يستخدمون جملة واحدة
وانا برأيي لا بد من استخدمام الكودين ضمن جملة شرطية
اولا نستعلم عن جميع قواعد البيانات ثم في حال كانت قاعدة البينات موجودة يتم استخدام الاستعلام الثاني الذي ذكرته لك اما اذا كانت قاعدة البيانات غير موجودة فعندئذ نستخدم الاستعلام الثاني الذي ذكرته لك


******
ارجو ان تكون الفكرة وصلت
سورس كود برنامج محاسبة ومبيعات احترافي ومتكامل- قم بالاطلاع على البرنامج 
 مجاناااااا
واتساب 00963951283515
الرد
تم الشكر بواسطة: مصمم هاوي
#3
شكرا اخى
انا حاليا لا اُريد استرجاع النسخ الاحتياطي
المطلوب فقط النسخ الاحتياطي
المشكلة التي توجهني هيا عدم عمل البرنامج عندما يكون على جهاز بالشبكة
عندم يكون على الجهاز الموجود به السيرفر يشتغل البرنامج 100%
الرد
تم الشكر بواسطة:
#4
هذا الكود
  Private cmd As New SqlCommand
    Dim red As SqlDataReader
    Dim op As New OpenFileDialog
    Dim opf As New FolderBrowserDialog
    Private Sub ButtonX1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonX1.Click
     

        Try
            If txt1char.Text = "C" Then
                MessageBox.Show("حاول مجدداً C:\ لا يمكن حفظ النسخة الاحتياطية على الجذر  ", "", MessageBoxButtons.OK, MessageBoxIcon.Information)
                Exit Sub
            End If
            Dim DATABASEE As String = My.Settings.DataBase
            Dim con As New SqlConnection("Data Source=.\SQLEXPRESS;Initial Catalog=" & DATABASEE & ";Integrated Security=True")

            'Dim datab As String
            'datab = "DB_ACC"

            'datab = My.Settings.DataBase
            If txt_path.Text = "" Then
                MessageBox.Show(" يجب اختيار المسار اولا", "تنبيه", MessageBoxButtons.OK, MessageBoxIcon.Information)
                Return

            End If

            Dim Filename As String = txt_path.Text + "\ " + DATABASEE + " " + DateTime.Now.ToShortDateString().Replace("/", "-") + " - " +  DateTime.Now.ToLongTimeString().Replace(":", "-") & ".bak"
            If con.State = ConnectionState.Open Then
                con.Close()
            End If
            con.Open()
            Dim querey As String = "backup database " & DATABASEE & " to disk='" & Filename & "'with init,stats=10"

            cmd = New SqlCommand(querey, con)
            cmd.ExecuteNonQuery()
            con.Close()
            MessageBox.Show(" تمت عملية النسخ بنجاح", "تاكيد", MessageBoxButtons.OK, MessageBoxIcon.Information)
        Catch ex As Exception
            MessageBox.Show(ex.ToString, "تنبيه")
        End Try
    End Sub
سورس كود برنامج محاسبة ومبيعات احترافي ومتكامل- قم بالاطلاع على البرنامج 
 مجاناااااا
واتساب 00963951283515
الرد
تم الشكر بواسطة:
#5
ممكن تقوم التعديل على المشروع المرفق في فورم جديد Formnew
الرد
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Exclamation استفسار بخصوص مشروع عمل ختمة قرآنية بتوزيع الصفحات (لأصحاب الصدقات الجارية) elsayedhasan 10 584 11-09-21, 07:01 PM
آخر رد: dalas
Lightbulb [سؤال] عندي مشكلة في تحزيم مشروع zeyimerg 3 197 10-09-21, 08:53 PM
آخر رد: asemshahen5
Lightbulb [سؤال] عندي مشكلة في تحزيم مشروع zeyimerg 1 146 09-09-21, 04:17 PM
آخر رد: aftfm
  [سؤال] "حد فاهم " يساعدنى فى عمل مشروع Telnet preans_2007 7 3,681 03-09-21, 01:19 PM
آخر رد: جيولوجي مبتدئ
  مشكله عند تنزيل مشروع جاهز zidanmostafa8 8 424 01-09-21, 10:39 PM
آخر رد: zidanmostafa8
  تحويل مشروع فيجوال بيسك الى سي شارب salim0ham 5 427 20-08-21, 05:49 PM
آخر رد: momani33
  [مشروع] أنا جاهز لتكملة مشروع SMS MVVMProf 9 3,626 01-08-21, 04:43 PM
آخر رد: mraihi
  [مشروع] مشروع طلبيات لمطعم بال sms gsm mraihi 2 259 26-06-21, 07:03 PM
آخر رد: mraihi
  هل من الممكن جعل مشروع فيجوال بيسك 10 يرسل بيانات الى الواتس خالد كامل1 4 640 21-06-21, 09:28 PM
آخر رد: خالد كامل1
  احبتى اريد طريقه سهله لطباعه لوجو شركه الى جميع تقارير الكريستال ريبورت فى مشروع فيجو خالد كامل1 0 351 19-06-21, 08:11 AM
آخر رد: خالد كامل1

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


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