في الجزء الأول من سلسلة مقالات خدمة اتصال البيانات كنا قد ذكرنا بأن استخدام الخيار الأول Connect with User’s Identity ليس الخيار الأفضل للاتصال بمصدر البيانات عند الاتصال بقاعدة البيانات MS SQL Server وذلك كما في الشاشة التالية:





وأيضاً ذكرنا بأن الخيار الأفضل هو استخدام خدمة تخزين التوثيق Secure Store Service, وفيما يلي شرح لكيفية استخدام هذه الطريقة.

أولاً يجب التأكد من إنشاء خدمة تخزين التوثيق Secure Store Service من خلال موقع الإدارة المركزية Central Administration وذلك باتباع الخطوات التالية:









في الشاشة السابقة يجب تحديد اسم للخدمة الجديدة, إضافة إلى اسم خادم قاعدة البيانات حيث سيتم إنشاء قاعدة بيانات خاصة بالخدمة الجديدة, إضافة غلى اسم قاعدة البيانات. وبعد إنشاء الخدمة بشكل ناجح تظهر شاشة مشابهة للشكل التالي:





بعد إنشاء الخدمة السابقة اضغط على اسم الخدمة لضبط إعداداتها بحيث نستخدمها مع خدمة اتصال البيانات:





وقد يظهر الخطأ التالي عند محاولة إدارة الخدمة الجديدة:





وقد يظهر خطأ في سجلات ويندوز تفاصيله هي:

There are no addresses available for this application
وأول ما يجب فحصه في حال ظهور الخطأ السابق هو خدمة تخزين التوثيق, حيث يجب تشغيل مثيل عن هذه الخدمة على أحد خوادم بيئة شيربوينت 2010 الحالية وذلك باتباع الخطوات التالية:













بعد تشغيل الخدمة السابقة يجب تنفيذ الأمر iisreset.

بعدها يجب الآن الضغط على اسم الخدمة لضبط إعداداتها بحيث نستخدمها مع خدمة اتصال البيانات:







الآن يجب الضغط على الزر Generate New Key لتهيئة الخدمة الجديدة:





يجب الآن إدخال سلسلة محارف سيتم استخدامها في عملية تشفير البيانات المرتبطة بخدمة تخزين التوثيق Secure Store Service, علماً أنه يُفضل الاحتفاظ بهذه المعلومة ضمن وثائق بيئة عمل شيربوينت. بعد تنفيذ الخطوة السابقة تظهر الرسالة التالية:





الآن يجب الضغط على زر New لتوليد تطبيق مستهدف Target Application جديد سيتم استخدامه لاحقاً مع خدمة اتصال البيانات BCS:











الخطوة التالية هي لتحديد مجموعة المستخدمين أو مستخدم واحد قادر على إدارة التطبيق المستهدف لاحقاً بعد إنشائه, وهنا يمكن إدخال اسم أي مستخدم على المجلد النشط Active Directory:





بعد إنشاء التطبيق المستهدف تظهر الشاشة التالية:





الآن يجب تحديد قيم الحقول التي تم تعيينها سابقاً وذلك بالضغط على Set Credentials:







في الشكل السابق قيمة Credential Owner تُعبر عن المستخدم الذي يمتلك معلومات المصادقة, أي في حال أن المستخدم حاول استعراض معلومات القائمة الخارجية التي تعتمد على نوع محتوى خارجي يستخدم الخيار Connect with Impersonated Custom Identity فإن المعلومات SQL Username/SQL Password سيتم استخدامها لتنفيذ عملية الوصول إلى البيانات المخزنة في قاعدة البيانات MS SQL Server. أما بالنسبة لقيم SQL Username/SQL Password فهي اسم مستخدم وكلمة المرور على MS SQL Server لديها الصلاحيات للوصول إلى قاعدة البيانات التي تم استخدامها في المقالة السابقة.

بعد تنفيذ الخطوات السابقة يجب تعديل معلومات الاتصال بمصدر البيانات لنوع المحتوى الخارجي الذي تم إنشاؤه في المقالة الأولى وذلك من خلال برنامج SharePoint Designer 2010 كما يلي:











في الشاشة السابقة قيمة الحقل Secure Store Application ID هي اسم التطبيق الهدف الذي تم إنشاؤه في بداية هذه المقالة وهي SharePoint4ArabBCS.

بعد تنفيذ جميع الخطوات السابقة افتح الصفحة الرئيسية للقائمة الخارجية التي تم إنشاؤها في المقالة الأولى, وهنا قد تواجه حالتين, الأولى هي في حال استخدام نفس المستخدم المحدد في قيمة Credential Owner للوصول إلى القائمة الخارجية فيجب أن تظهر البيانات بشكل ناجح بدون أي فشل في العملية, أما في حال استخدام مستخدم آخر فستظهر الشاشة التالية:





وذلك لأن شيربوينت حاول الوصول إلى قاعدة البيانات بالاعتماد خدمة تخزين التوثيق, لكن بما أن مالك Owner اسم المستخدم وكلمة المرور هو شخص آخر فيجب إدخال معلومات الوصول إلى قاعدة البيانات مرة أخرى بشكل صحيح من خلال الضغط على الرابط السابق عندها ستظهر الشاشة التالية:





اضغط على "المتابعة إلى هذا الموقع":





وبعدها اضغط على "موافق" لتظهر المعلومات مرة أخرى في قاعدة البيانات الخارجية.

في نهاية هذه المقالة هناك سؤال مهم جداً يجب طرحه, وهو هل يجب إضافة معلومات توثيق Credentials لكل مستخدم للوصول إلى معلومات قاعدة البيانات؟! والجواب هو لا طبعاً, والمقالة التالية ستكون مخصصة لهذا الموضوع.