تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
رسالة تقابلني عند عمل entity data connection
#1
Photo 
السلا م عليكم
اقوم بعمل اول مشروع لي قاعدة بيانات sql server استخدم c# تم ربط أول فورم داخل المشروع مع قاعدة البيانات من خلال هذا الكود
SqlConnection con = new SqlConnection();
SqlCommand com = new SqlCommand();

public form1()
{
    InitializeComponent();
    con.ConnectionString = @"Data Source=DESKTOP-PHILRTR\SQLEXPRESSAF;Initial Catalog=af1;Integrated Security=true";
    com.Connection = con; // تعيين الاتصال هنا
وتم التجريب والحمد لله يعمل
عندما أنشأت أكثر من فورم ثم بدأت في إضافة entity data model
ظهرت رسالة في الصورة المرفقة
provider: SSL Provider, error: 0 - The certificate chain was issued by an authority that is not trusted.)


الملفات المرفقة صورة/صور
   
الرد }}}
تم الشكر بواسطة:
#2
الخطأ الذي تواجهه يتعلق بشهادة SSL عند محاولة الاتصال بـ SQL Server، حيث أن سلسلة الشهادات الخاصة بالخادم لم يتم إصدارها بواسطة جهة معتمدة، وبالتالي لا يتم الوثوق بها.
لإصلاح هذا المشكلة، يمكنك القيام بالخطوات التالية:

1. تعطيل التحقق من SSL (اختيار سريع للتجربة المحلية فقط):
إذا كنت تعمل على بيئة تطوير محلية ولا تحتاج إلى الاتصال الآمن، يمكنك تعطيل استخدام SSL عن طريق تعديل سلسلة الاتصال لتتضمن الخيار
كود :
TrustServerCertificate=True
. ستبدو سلسلة الاتصال الخاصة بك كالتالي:
csharp
نسخ الكود
كود :
con.ConnectionString = @"Data Source=DESKTOP-PHILRTR\SQLEXPRESSAF;Initial Catalog=af1;Integrated Security=true;TrustServerCertificate=True";

2. استخدام شهادة موثوقة:
لإصلاح المشكلة بطريقة أكثر أمانًا:
  • قم بتثبيت شهادة موثوقة على الخادم الذي يشغل SQL Server.
  • قم بتكوين SQL Server لاستخدام الشهادة الموثوقة.
  • إذا كنت تستخدم اسم مضيف بدلاً من
    localhost
  • أو
    127.0.0.1
  • ، تأكد من أن الشهادة تتطابق مع اسم المضيف.

3. تعطيل التشفير (غير موصى به):
كحل مؤقت، يمكنك تعطيل التشفير باستخدام الخيار
كود :
Encrypt=False
في سلسلة الاتصال. لكن هذا غير مستحسن لأنه يعرض البيانات للتنقل دون تشفير.
csharp
نسخ الكود
كود :
con.ConnectionString = @"Data Source=DESKTOP-PHILRTR\SQLEXPRESSAF;Initial Catalog=af1;Integrated Security=true;Encrypt=False";

4. تثبيت شهادة الخادم في النظام:
  • قم بالحصول على شهادة SQL Server وتثبيتها في قائمة الشهادات الموثوقة على جهازك.
  • بعد التثبيت، لن يواجه العميل أي مشكلة في الوثوق بالشهادة.

5. التأكد من تكوين Entity Data Model بشكل صحيح:
إذا كنت تستخدم Entity Framework، تأكد من أن سلسلة الاتصال في ملف
كود :
App.config
أو
كود :
Web.config
تحتوي على نفس الخيارات المذكورة أعلاه.

نصيحة إضافية:
عند العمل على بيئة إنتاج أو بيئة تحتاج إلى أمان عالٍ، تجنب تعطيل SSL أو التحقق من الشهادة واستخدم الشهادات الموثوقة دائمًا.
جرب إضافة الخيار
كود :
TrustServerCertificate=True
أو
كود :
Encrypt=False
لمعرفة ما إذا كانت المشكلة تُحل.
الرد }}}
تم الشكر بواسطة:



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


يقوم بقرائة الموضوع: