تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مشكله في اتصال البرنامج بالسيرفر عند انقطاع الكهرباء
#1
السلام عليكم ورحمة الله وبركاته

اخوتي الافاضل بارك الله فيكم

عندي برنامج مصممه بالفيجوال بيسك 2015 وقاعدة بيانات SQL 2014  وبعد تنصيبه عند العميل يعمل بشكل ممتاز

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

ارجو ان اجد حل 

والمشكله موضحه بالصورة الاتيه

   
الرد }}}
تم الشكر بواسطة:
#2
(10-08-24, 11:28 AM)Amir_Alzubidy كتب : لا نستطيع التخمين حول سبب المشكلة
و كذلك الامر ربما يكون الحل في متناول اليد ونحن لا نعلم
طيب ايش الحل ؟
ارفع الكلاس المسؤول عن انشاء قاعدة البيانات اذا كنت بالفعل تقوم بانشاء قاعدة بيانات من خلال سيركبت
او يا ريت لو تفيدنا بتوضيح اكثر حول الجزء الخاص بـ 'New_Emam_Lab.identification i هو بيعمل ايه  وخاص في ايه
و فين تحديداً و زي كده معليش
او اذا كانت ضرورة ملحة فلا بأس انا جاهز ادخل اني ديسك و نتساعد بحلها ان شاء الله
تحياتي الخالصة سيد امام

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

كود :
Public Sub GetInstanceName64(server As DevExpress.XtraEditors.ComboBoxEdit)
       Try
           Dim registryview1 As RegistryView = If(Environment.Is64BitOperatingSystem, RegistryView.Registry64, RegistryView.Registry32)
           Using hkln As RegistryKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, registryview1)
               'Dim Instancekey As RegistryKey = hkln.OpenSubKey("SOFTWARE\WOW6432Node\Microsoft\Microsoft SQL Server\Instance Names\SQL\", False)
               Dim Instancekey As RegistryKey = hkln.OpenSubKey("SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL\", False)
               If Instancekey IsNot Nothing Then
                   For Each instanceName As String In Instancekey.GetValueNames()
                       server.Properties.Items.Add(Environment.MachineName + "\" + instanceName)
                   Next
               End If
           End Using
       Catch ex As Exception
           MsgBox(ex.Message)
       End Try
   End Sub


   Public Sub GetInstanceName32(server As DevExpress.XtraEditors.ComboBoxEdit)
       Try
           Dim localmachine = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32)
           Dim key = localmachine.OpenSubKey("SOFTWARE\Microsoft\Microsoft SQL Server")
           Dim instances = CType(key.GetValue("InstalledInstances"), String())
           If instances.Length > 0 Then
               For Each str As String In instances

                   If str = "MSSQLSERVER" Then
                       server.Properties.Items.Add(System.Environment.MachineName)
                   Else
                       server.Properties.Items.Add(System.Environment.MachineName + "\" + str)
                   End If
               Next
           End If
       Catch ex As Exception
           XtraMessageBox.Show("Error : " + Environment.NewLine + ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
       End Try
   End Sub



Private Sub LoadInstanceName()
       If System.Environment.Is64BitOperatingSystem = True Then
           GetInstanceName64(ComboBoxEdit1)
       Else
           GetInstanceName32(ComboBoxEdit1)
       End If
   End Sub
الرد }}}
تم الشكر بواسطة:



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


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