المتابعون للمدونة

الاثنين، 4 يوليو 2016

التعامل مع سيكويل سيرفر من دوت نت


التعامل مع قواعد بيانات سيكويل سيرفر من دوت نت:

تقدم دوت نت دعما كاملا للتعامل مع قواعد بيانات سيكويل سيرفر.. ولا يتوقف الأمر على الاتصال بقاعدة البيانات وقراءة البيانات منها، بل يتعدى الأمر ذلك إلى إنشاء قواعد البيانات وتصميم جداولها وعلاقاتها وكل كائناتها من داخل بيئة التطوير المتكاملة IDE الخاصة بدوت نت، بل إنك ستشعر أنه يكاد لا يوجد فارق بين طريقة التعامل مع قاعدة البيانات في دوت نت، وبين التعامل معها في مدير سيكويل سيرفر SQL Server Management Studio.. الفارق الوحيد هو أنك هنا ستتعامل مع متصفح الخوادم Server Explorer بدلا من متصفح الكائنات Object Explorer!

وحتى هذا الفارق تلاشى في دوت نت 2015، بظهور نافذة جديدة هي متصفح كائنات سيكويل سيرفر، التي يمكن عرضها بضغط القائمة الرئيسية View ثم ضغط الأمر Sql Server Object Explorer.. هذه النافذة تعرض خوادم سيكويل سيرفر وقواعد البيانات المتصلة بكل خادم (تحت العنصر Databases)، وخيارات التحكم في الخادم وأدوار المسئولين وما شابه (تحت العنصر Security)، وهي بهذا تشبه نافذة متصفح الكائنات الموجودة في مدير سيكويل سيرفر SQL Management Studio. 

إنشاء قاعدة بيانات سيكويل سيرفر في دوت نت:
افتح متصفح الخوادم Server Explorer من القائمة View، واضغط بزر الفأرة الأيمن العنصر Data Connections، ومن القائمة الموضعيّة اضغط الأمر Create New SQL Server Database.. سيظهر لك نافذة تطلب منك اسم خادم سيكويل الذي ستنشئ عليه قاعدة البيانات.. اكتب اسم الخادم MYPC\SQLEXPRESS. 

ملحوظة:
هناك اختصار متعارف عليه يستخدم بدلا من اسم الخادم المحلي، وهو الكلمة (local) موضوعة بين قوسين، أو النقطة "." .. الحكمة في هذا أنك تستطيع تغيير اسم جهازك من لوحة تحكم الويندوز Control Panel، وفي هذه الحالة ستحدث أخطاء في برامجك التي تستخدم الاسم القديم، لهذا فمن الأذكى أن تستخدم الاسم .\SQLEXPRESS بدلا من MYPC\SQLEXPRESS .

 ولو كان الخادم محميا باسم مستخدم وكلمة سر، فاضغط الاختيار Use SQL Server Authentication، حيث سيتم تفعيل مربعي النص الخاصين بكلمة المرور واسم المستخدم.. ولكن نظرا لأننا نستخدم الخادم المحلي بدون حماية، فاترك الاختيار الأوّل Use Windows NT Integrated Security.

أخيرا، اكتب اسم قاعدة البيانات التي تريد إنشائها، وذلك في مربع النص الموجود أسفل النافذة.. اكتب مثلا الاسم Test واضغط OK لإغلاق النافذة.
ستجد أنّ الاسم mypc\sqlexpress.Test.dbo قد ظهر في متصفح الخوادم.
وسيتمّ إنشاء قاعدة البيانات Test.mdf على المسار:
C:\Program Files\Microsoft SQL Server\
MSSQL10.SQLEXPRESS\MSSQL\DATA
ولو شئت أخذ نسخة احتاطيّةً منها، فلا تنسَ أن تنسخ أيضا الملف Test_log.LDF، ولو رفض الويندوز تنفيذ النسخ، فأغلق البرامج المتصلة بقاعدة البيانات، وإن اضطررت فافصل قاعدة البيانات من العمل على الخادم.

ملحوظة:
لو ضغطت القاعدة Test في متصفح الخوادم Server Explorer بزر الفأرة الأيمن، وضغطت الأمر Delete من القائمة الموضعيّة، فسيتم حذف الاتصال بقاعدة البيانات من متصفح الخوادم، لكن لن يتم حذف قاعدة البيانات نفسها، ومن ثم يمكنك إعادة الاتصال بها مرة أخرى من جديد بالطريقة التي سنوضحها لاحقا.. لاحظ أن هذا يختلف تماما عما سيحدث في مدير سيكويل SSMS، فضغط الأمر DELETE سيعرض نافذة حذف قاعدة البيانات نفسها، لذا عليك الحذر، واستخدام هناك الأمر Tasks\Detach لفصل قاعدة البيانات.

والآن، أسدل عناصر قاعدة البيانات Test في متصفح الخوادم.. لن تشعر بأية غربة، فأنت تشاهد نفس العناصر التي شاهدتها في مدير سيكويل من قبل، ولا تحتاج لأن يعلمك أحد كيف تنشئ الجداول أو العلاقات، فلا يوجد أي اختلاف يذكر!.. لا أظنك تعتبره اختلافا جذريا، لو أخبرتك أن نقر اسم الجدول مرتين بالفأرة يفتح صفحة تصميمه، أو أن الأمر الذي يفعل هذا من القائمة الموضعية اسمه "فتح تعريف الجدول" Open Table Definition بدلا من الأمر Design في مدير سيكويل، أو أن عرض وتحرير بيانات الجدول يتم باستخدام الأمر Show Table Data بد من الأمرين: Select Top 1000 rows و Edit Top 200 Rows!.. لاحظ أن نافذة عرض بيانات الجدول التي تظهر بعد ضغط الأمر Show Table Data هي جزء النتائج Result Pane في نافذة باني الاستعلام Query Builder، ويمكنك عرض أي جزء آخر بالضغط بزر الفأرة في أي موضع، ومن القائمة الموضعية تضغط القائمة الفرعية Pane وتختار الجزء الذي تريد عرضه.

الاتصال بقواعد بيانات SQL Server:
نريد الآن الاتصال بقاعدة البيانات Books.mdf التي أنشأناها بمدير سيكويل.. في هذه الحالة سنتبع نفس الخطواتٍ التي اتبعناها عندما أردنا الاتصال بقاعدة البيانات Books.mdb التي أنشأناها في Access:
- اضغط بزر الفأرة الأيمن العنصر Data Connections في متصفح الخوادم، ومن القائمة الموضعيّة اضغط الأمر "إضافة اتصال" Add Connection.
- في مربّع حوار "اختيار مصدر البيانات" Choose data source، اختر العنصر: Microsoft SQL Server Database File واضغط OK.
ستظهر لك النافذة الموضحة في الصورة:
 


في النصف العلوي من النافذة، اكتب اسم خادم سيكويل واختر طريقة تحقيق الهوية.

وفي النصف السفلي من النافذة، اختر قاعدة البيانات التي تريد التعامل معها.. إذا كانت هذه القاعدة تعمل على الخادم فعلا في هذه اللحظة، فاختر الخيار Select or enter a database file واكتب اسم قاعدة البيانات، أو اختره من القائمة المنسدلة.. أما إذا لم تكن قاعدة البيانات متصلة بالخادم في هذه اللحظة، فاختر Attach a database file، واضغط الزر Browse، واختر ملف قاعدة البيانات (وليكن Books.mdf) من المجلد الذي حفظته فيه على جهازك.. ويمكنك أن تكتب في الخانة Logical Name أي اسم تريده لتسمية الاتصال به، وليس شرطا أن يكون له نفس اسم قاعدة البيانات.. أو يمكنك ترك هذه الخانة فارغة.

- اضغط الزر Test لاختبار الاتصال.. إذا حدثت مشكلة وأخبرتك رسالة الخطأ أن قاعدة البيانات موجودة من قبل، فافتح مدير سيكويل سيرفر SQL Server Management Studio، وقم بفصل Detach قاعدة بيانات الكتب منه، ثم أعد محاولة الاتصال بها من دوت نت.. ويمكنك أن تلجأ إلى هذه الخطوة كلما واجهت مشكلة في الاتصال بقاعدة البيانات.. فإذا لم يحل هذا المشكلة، فيمكنك عمل Restart لخادم سيكويل نفسه بالطريقة التي شرحناها من قبل.

- بعد نجاح تجربة الاتصال، اضغط OK لإغلاق النافذة.. ستجد أن اسم قاعدة البيانات قد ظهر في متصفح الخوادم، ويمكنك التعامل معها بنفس الطريقة التي اتبعناها في مدير سيكويل. 

من كتاب: من الصفر إلى الاحتراف برمجة قواعد البيانات في فيجوال بيزيك دوت نت ADO .NET.. للتنزيل:

ليست هناك تعليقات:

إرسال تعليق

ملحوظة: يمكن لأعضاء المدونة فقط إرسال تعليق.

صفحة الشاعر