الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

أسئلة فنية تواجهك عند التعامل مع SERVER

مغلق
بدأه VIPER_HEAD في 24 أغسطس 2005 · 4 رد · 871 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

أخواني الأعزاء سلام الله عليكم ورحمته وبركاته

الموضوع يتكون من عدة أسئلة

تنشأ هذه الأسئلة عند قيامك بإنشاء تطبيق يعمل علي شبكة في شكل CLIENT \ SERVER

وسنأخذ مثال يتم مناقشة الموضوع علي أساسه أي نطرح علي أساسه الأسئلة والأجابات عليها

المثال هو

****************************************************

نفترض أننا أنشئنا تطبيق مستخدمين فيه

قاعدة بيانات SQL SERVER

واجهة المستخدم مصممة ب VB

التطبيق يشمل بعض ملفات من نوع DLL

****************************************************

السؤال الأول : يخص هذا السؤال الجزء الذي نقوم بكتابته لتحديد ConnectionString

وهذا الجزء ينقسم إلي

provider , Integrated Security , Initial Catalog , data source

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

1] Integrated Security

وهو المسؤل عن تحديد طريقة الحماية لقاعدة البيانات ولكن

أثناء تصميم التطبيق قد يكون مصمم التطبيق يعمل علي وضع مثل

windows Authrantication

ولكن لأسباب فنية علي الشبكة تم تغيير وضع قاعدة البيانات لتعمل علي Mixed mode

هنا لن يعمل التطبيق لأننا في الوضع الأول نعطي الخاصية Integrated Security القيمة SSPI

أما في الوضع الثاني فيجب أن نحدد UID , PASSWORD لقاعدة البيانات

فما هو مصير التطبيق في هذه الحالة وما هو الحل من وجهة نظركم؟؟؟

الحالة الثانية أن أثناء تصميم التطبيق قد يكون مصمم التطبيق يعمل علي وضع Mixed mode

وتم تحديد UID , PASSWORD لقاعدة اليانات بالفعل ولكن لأسباب فنية تم تغيير UID , PASSWORD من قبل مدير الشبكة فكيف يمكن أتاحة خاصية أدخال UID , PASSWORD في RUN TIME حيث أن التطبيق أثناء فتحه في RUN TIME إذا لم يجد بيانات ال CONNECTION

مستوفاة لن يفتح ولن يصل لقاعدة البيانات فكيف أجعله يصبر حتي أدخل ال UID,PASSWORD

علي متغيرات

*************************************************************************************

الخاصية الثانية التي يمكن تغييرها من قبل مدير الشبكة هي

2] data source

حيث نقوم في هذه الخاصية بتحديد أسم ال SERVER الذي يتم وضع قاعدة البيانات عليه

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

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

فما هو الحل من وجهة نظركم

وما هي أفضل الطرق التي تسمح للمستخدم بأضافة أسم الخادم بعد تصميم البرنامج

*************************************************************************************

السؤال الثاني : وهو خاص بعملية تنصيب البرنامج

كنت دائما يا أخواني أعرف أن طريقة تنصيب برنامج يحتوي علي قاعدة بيانات SERVER وواجهة مستخدم يتم تنصيبه بالشكل التالي

تنصيبه علي الخادم ثم أخذ نسخة من ملف EXE الناتج عن التنصيب ولصقة علي كل جهاز CLIENT

ليظهر في القائمة START مهما كان البرنامج المستخدم في عملية التنصيب

هذا ما كنت أعرفه دائما إلي أن سمعت بعض الأراء التي لم أقرأ عنها ولم أفهم حتي فكرة تصميمهة

من هذه الأراء رأي يقول

قم بتنصيب الفورم علي ال CLIENT ثم قم بتنصيب قاعدة البيانات علي ال SERVER

السؤال هل يمكن فصل أجزاء التطبيق أثناء عملية التنصيب أي

هل يمكن أن أقوم برنامج يعمل علي تنصيب الفورم فقط علي جهاز وبرنامج يقوم بتنصيب قاعدة البيانات علي جهاز أخر

أرجو شرح الفكرة ؟؟؟

*************************************************************************************

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

والهدف من الأطالة في شرح كل مشكلة

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

أترككم في سلامة الله وأنظر أقترحاتكم لحل المشكلات

#2

من سؤالك الأول يبدو أنك تضع الConnection string بحيث لا يمكن تغييرها إلا من الكود.

بدلا من ذلك يمكن عمل شاشة الدخول بحيث يمكن من خلالها تحديد اسم السيرفر Data source واسم الدخول وكلمة السر وطريقة الدخول ( Windows Authentication أم SQL Server Authentication )

وهذه الشاشة تقوم ببناء الconnection string أثناء الruntime وفتح الاتصال من خلاله، وإذا فتح تسمح بالدخول للنظام، وإلا فلا تسمح.

فكر بطريقة أخرى

#3

حسنا أخي العزيز

سنقوم ببناء شاشة تتكون من أكثر من text حتي يقو م المستخدم بأدخال بيانات الخادم

السؤال أين سيتم تخزين هذه المدخلات

وكيف سيقوم البرنامج تلقائيا بالقراءة من المكان التي خزنت به البيانات عند فتحه في المرة التالية

لأن من غير الطبيعي أن أجعل المستخدم يدخل بيانات الخادم كل مرة أراد فتح البرنامج بها

#4

اخي العزيز

اكيد طبعاً يمكنك ان تسجل كل هذة البيانات في ملف Text علي هيئة *.INF او اي ملف

اخر حتي كمان يمكنك تعمل قاعدة بيانات اكسيس صغيرة تسجل فيها كل المتغيرا ت التي تتوقع

انها سوف تتغير من جهاز الي اخر وتستدعيها عند تشغيل البرنامج ودا سهل جداً

يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل

سبحان الله وبحمده ... سبحان الله العظيم

#5
اقتباس
السؤال أين سيتم تخزين هذه المدخلات

وكيف سيقوم البرنامج تلقائيا بالقراءة من المكان التي خزنت به البيانات عند فتحه في المرة التالية

ويمكن أيضا تخزينها في الregistry وقراءة القيم منه عند فتح البرنامج.

الطريقة المثلى للتعامل مع مسجل النظام (Registry)

كيفية التعامل مع الـ Registry

بالتوفيق بإذن الله

:)

فكر بطريقة أخرى

هذا الموضوع مغلق.

مواضيع مشابهة