لقد تطور الاتصال بقاعدة البيانات إلى جانب قياسي لتطوير التطبيقات. أصبحت سلاسل اتصال قاعدة البيانات الآن معيارًا ضروريًا لكل مشروع. غالبًا ما أجد نفسي أقوم بنسخ سلسلة اتصال من تطبيق آخر أو إجراء بحث للعثور على الصيغة التي أحتاجها. وينطبق هذا بشكل خاص عند التشغيل التفاعلي مع SQL Server، الذي يحتوي على العديد من خيارات سلسلة الاتصال. الآن دعونا نتفحص الجوانب العديدة لسلاسل الاتصال.
سلسلة الاتصال
أثناء إنشاء كائن أو إنشاءه، يتم تمرير سلسلة اتصال قاعدة البيانات إلى الكائن الضروري من خلال الخصائص أو الأساليب. تنسيق سلسلة الاتصال عبارة عن قائمة مفصولة بفواصل منقوطة لأزواج معلمات المفتاح/القيمة. تتضمن القائمة أ مثالاً في C# يوضح كيفية الاتصال بـ SQL Server عن طريق إنشاء كائن SqlConnection (يتم تعيين سلسلة الاتصال الفعلية من خلال خاصية ConnectionString الخاصة بالكائن). يتضمن القائمة ب إصدار VB.NET.
القائمة أ
string cString = "مصدر البيانات = الخادم؛ الكتالوج الأولي = ديسيبل؛ معرف المستخدم = اختبار؛ كلمة المرور = اختبار؛";
SqlConnectionconn = new SqlConnection();
conn.ConnectionString = cString;
conn.Open();
القائمة ب
خافت cString كسلسلة
cString = "مصدر البيانات = الخادم؛ الكتالوج الأولي = ديسيبل؛ معرف المستخدم = اختبار؛ كلمة المرور = اختبار؛"
Dim conn As SqlConnection = New SqlConnection()
conn.ConnectionString = cString
كون.فتح ()
تحدد سلسلة الاتصال خادم قاعدة البيانات وقاعدة البيانات، بالإضافة إلى اسم المستخدم وكلمة المرور الضروريين للوصول إلى قاعدة البيانات. على الرغم من أن هذا التنسيق غير مناسب لجميع تفاعلات قاعدة البيانات، إلا أنه يتوفر به العديد من الخيارات، والعديد منها له مرادفات.
إلى جانب عناصر مصدر البيانات والكتالوج الأولي ومعرف المستخدم وكلمة المرور، تتوفر الخيارات التالية:
اسم التطبيق: اسم التطبيق. إذا لم يتم تحديده، فستكون قيمته هي موفر بيانات .NET SqlClient.
AttachDBFilename/الخصائص الموسعة/اسم الملف الأولي: اسم الملف الرئيسي الذي يمكن توصيله بقاعدة البيانات، بما في ذلك اسم المسار الكامل. يجب تحديد اسم قاعدة البيانات باستخدام قاعدة بيانات الكلمات الرئيسية.
مهلة الاتصال/مهلة الاتصال: المدة الزمنية (بالثواني) التي ينتظرها الاتصال بالخادم قبل الإنهاء. القيمة الافتراضية هي 15.
عمر الاتصال: عند إرجاع اتصال إلى تجمع الاتصال، تتم مقارنة وقت إنشائه بالوقت الحالي. إذا تجاوزت هذه الفترة الزمنية فترة صلاحية الاتصال، فسيتم إلغاء الاتصال. قيمته الافتراضية هي 0.
إعادة تعيين الاتصال: يشير إلى ما إذا كان سيتم إعادة تعيين الاتصال عند إزالته من تجمع الاتصالات. تلغي القيمة الخاطئة الحاجة إلى خادم إضافي ذهابًا وإيابًا عند الحصول على اتصال، وتكون قيمته الافتراضية صحيحة.
اللغة الحالية: اسم سجل لغة SQL Server.
مصدر البيانات/الخادم/العنوان/العنوان/عنوان الشبكة: الاسم أو عنوان الشبكة لمثيل SQL Server.
التشفير (التشفير): عندما تكون القيمة صحيحة، سيستخدم SQL Server تشفير SSL لجميع البيانات المنقولة بين العميل والخادم إذا كان الخادم يحتوي على شهادة معتمدة مثبتة. القيم المقبولة هي صحيح، خطأ، نعم، ولا.
التجنيد (التسجيل): يشير إلى ما إذا كان برنامج تجمع الاتصال سيقوم بتسجيل الاتصال تلقائيًا في سياق المعاملة الحالية لمؤشر ترابط الإنشاء.
قاعدة البيانات/الكتالوج الأولي: اسم قاعدة البيانات.
الأمان المتكامل/الاتصال الموثوق به: يشير إلى ما إذا كان يتم استخدام مصادقة Windows للاتصال بقاعدة البيانات. يمكن ضبطه على true أو false أو ما يعادل sspi لـ true.
الحد الأقصى لحجم التجمع (السعة القصوى لتجمع الاتصال): الحد الأقصى لعدد الاتصالات المسموح بها من قبل تجمع الاتصال، وقيمته الافتراضية هي 100.
الحد الأدنى لحجم تجمع الاتصال (الحد الأدنى لسعة تجمع الاتصال): الحد الأدنى لعدد الاتصالات التي يسمح بها تجمع الاتصال، وقيمته الافتراضية هي 0.
مكتبة الشبكة/الشبكة: مكتبة الشبكة المستخدمة لتأسيس اتصال بمثيل SQL Server. تتضمن القيم المدعومة: dbnmpntw (الأنابيب المسماة)، وdbmsrpcn (Multiprotocol/RPC)، وdbmsvinn (Banyan Vines)، وdbmsspxn (IPX/SPX)، وdbmssocn (TCP/IP). يجب تثبيت مكتبة الارتباط الديناميكي الخاصة بالبروتوكول للاتصال المناسب؛ ويكون الإعداد الافتراضي لها هو TCP/IP.
حجم الحزمة: حجم حزم الشبكة المستخدمة للاتصال بقاعدة البيانات. القيمة الافتراضية هي 8192.
كلمة المرور/Pwd: كلمة المرور المطابقة لاسم الحساب.
معلومات الأمان المستمرة: تُستخدم لتحديد ما إذا كانت معلومات الأمان متوفرة بمجرد إنشاء الاتصال. إذا كانت القيمة صحيحة، فستتوفر البيانات الحساسة للأمان مثل أسماء المستخدمين وكلمات المرور، بينما إذا كانت القيمة خاطئة، فهي غير متوفرة. ستؤدي إعادة تعيين سلسلة الاتصال إلى إعادة تكوين كافة قيم سلسلة الاتصال، بما في ذلك كلمة المرور. قيمته الافتراضية خاطئة.
التجميع: تحديد ما إذا كان سيتم استخدام تجمع الاتصالات. إذا كان صحيحًا، فسيتم الحصول على الاتصال من تجمع الاتصال المناسب، أو إذا لزم الأمر، سيتم إنشاء الاتصال وإضافته إلى تجمع الاتصال المناسب. قيمته الافتراضية صحيحة.
معرف المستخدم: اسم الحساب المستخدم لتسجيل الدخول إلى قاعدة البيانات.
معرف محطة العمل: اسم محطة العمل المتصلة بـ SQL Server. قيمته الافتراضية هي اسم الكمبيوتر المحلي.
تنشئ سلسلة الاتصال التالية اتصالاً بقاعدة بيانات Northwind على خادم TestDev1 باستخدام اتصال موثوق به وبيانات اعتماد تسجيل الدخول المحددة (أقل أمانًا من ترك كلمة مرور المسؤول فارغة): Server=TestDev1;Database=Northwind;معرف المستخدم=sa ;
كلمة المرور=;Trusted_Connection=True;
تستخدم سلسلة الاتصال التالية TCIP/IP وعنوان IP محددًا:
مصدر البيانات=192.162.1.100,1433؛مكتبة الشبكة=DBMSSOCN؛
الكتالوج الأولي=Northwind;معرف المستخدم=sa;كلمة المرور=;
يمكن بسهولة تضمين الخيارات المستخدمة في سلسلة الاتصال، ولكنها تعتمد مرة أخرى على التطبيق الخاص بك ومتطلباته. من الجيد معرفة ما هو متاح حتى تتمكن من استخدامه بشكل مناسب.
باستخدام ADO.NET 2.0
يقدم ADO.NET 2.0 مولدات سلسلة اتصال جديدة لكل موفر بيانات .NET Framework. يتم إدراج الكلمات الأساسية كسمات، مما يتيح تفعيل جملة سلسلة الاتصال قبل إرسالها إلى مصدر البيانات. هناك أيضًا فئات جديدة تسهل تخزين واسترجاع سلاسل الاتصال في ملفات التكوين، وتشفيرها بطريقة محمية.