تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
#1
Information 
السلام عليكم ورحمة الله وبركاته

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

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

فى البداية عند اتمام الانتهاء من انشاء قاعدة البيانات والبرنامج المرتبط به
وعند نسخ البرنامج لدا العميل سيتطلب اعمل مجلد على جهاز محدد سيكون وظيفته
مشاركة قاعدة البيانات دائماً من خلال الشبكة خلينا نسمى هذا الجهاز كونه الـ Server

فهنا لاتمام انشاء المجلد فسيتم عمل التالى
لنقول ان الجهاز تحت مسمى Server لديه بارتشن D
وتذكر يجب ان يتم انشاء الخطوات التالية بعيداً عن بارتشن C تجنباً فقداً قاعدة البيانات

الان ستقوم بانشاء مجلد تحت اسم وليكن DataBase


وبعد الانتهاء من انشاء المجلد يوضع به نسخة من قاعدة البيانات الرئيسية للبرنامج
من ثم تاتى على المجلد وتقوم بعمل كلك يمين والضغط على خصائص / Properties
ستظهر معنا الشكل التالى


الان من هذه القائمة ستقوم بالضغط على جملة Sharing / مشاركة
سيظهر معنا الشكل التالى فعلك اتمام الضغط بنائاً على ترتيب الارقام بالصورة


الان سيتم الضغط على زر Advanced Sharing كما فى الصورة المشار عليها برقم 1
عند اتمام ذلك ستفتح شاشة جديد عليك التركيز وتطبيق كل ما هو فى الصورة تماماً


1- تنشيط Sharing this folder
2- قم بكتابة الاسم الذى يناسبك ولكن تذكر ان يكون باول الجملة ونهايتها علامة $ مهمة جداً
3- قم بتحديد عدد المستخدمين الذى يتمكن من دخول المجلد فى وقت واحد يمكنك ان تكتب 
    كما تشاء الاهم ان لا يكون اقل من عدد مستخدمى قاعدة البيانات فى وقت واحد
4- الضغط على زر Permissions لتفتح معنا الشاشة التالية واتمام كما فى الصورة


4- [1]- التاكد من وجود Everyone من ثم تحديدها
4- [2]- تنشيط خيار Full Control حتى يقوم بتنشيط باقى الخيارات
4- [3]- الضغط على زر OK
5- الضغط على زر OK

بعد الانتهاء من الخطوات السابقة ستتحول معنا الشاشة الرئيسية خاصة الخصائص / Properties على هذا الشكل
كل ما عليك متابعة الشرح طبقاً للارقام بالصورة التالية


1- الضغط على زر Share... لتفتح معنا شاشة Network access كما فى الصورة التالية


1- [1]- الضغط على علامة  لتعرض القائمة واتمام اختيار منها الخيار Everyone
1- [2]- الضغط على زر Add حتى تعرض جملة Everyone فى القائمة كما مشار عليها برقم 3
1- [3]- بعد التاكد بوجود جملة Everyone ستقوم بتطبيق الخطوة التالية
1- [4]- الضغط على علامة  لتفتح القائمة الجانبية من العلامة واختيار الخيار Read/Write
1- [5]- الان قم بالضغط على زر Share بعد الانتهاء سيعرض معنا شاشة تحتوى على زر Done يتم الضغط عليها
2- الضغط على زر Close وبكده يتم انتهاء عمل مشاركة المجلد على الشبكة

بعد الانتهاء من الشرح السابق كل ما عليك هو جعال الجهاز تحت مسمى Server
مخصص له IP يدوياً وليس تلقائي فمثلاً IP الاعتيادية هو 192.168.1.1 وهو خاص بالراوتر او احياناً يكون 192.168.1.100

كل ما عليك ان تجعل الجهاز بهذه البيانات
PHP كود :
192.168.1.240
255.255.255.0
192.168.1.1 

بخصوص الـ DNS يمكنك ان تجعلها على هذا الشكل
PHP كود :
208.67.222.222
208.67.220.220 

بعد الانتهاء من كل هذا الامر فالان عليك اختبار الدخول على الجهاز من خلال الشبكة
من خلال فتح اى مجلد وكتابة الشكل التالى



من خلال كتابة هذا الجملة فى عنوان اى مجلد بالاعلى
PHP كود :
\\192.168.1.240 

تذكر هذا الرقم الخاص بالجهاز الذى تم تخصيصه له وهو خاص بحهاز الـ Server
بطبيعة الحال عند فتح الجهاز على الشبكة من خلال هذا المسار ستجد ان المجلد الذى تم مشاركته والذى يحتوى على قاعدة البيانات

غير موجود او باصح هو غير مرئي ولاتمام فتح هذا المجلد الغير مرئي يجب ان تجعل المسار على هذا النحو
PHP كود :
\\192.168.1.240\$DataBase

هل تتذكر عندما تم تسمية المجلد على الشبكة وتم توضيح باهمية وجود $ ببداية ونهاية الاسم
الوظيفة من علامة $ هنا هو اتمام اخفاء المجلد على الشبكة ويتم الدخول والوصول اليه يدوياً من خلال الكتابة
كما تم حالياً وفتح معنا المجلد الذى يحتوى على قاعدة البيانات الى الان بما انك وصلت معنى الى هنا 
فاصبح كل شئ الان بسيط فى الخطوات التالية هو عمل الربط قاعدة البيانات لكل مستخدم  
والتى ستكون مركز قاعدة البيانات الرئيسية على هذا المسار بالشبكة

طيب ناتى الان لشرح قاعدة البيانات الـ Access
الان بعد الانتهاء من كل ما سبق سناتى على مجلد البرنامج المصمم من قبلك والمنتهى
والذى يعمل عليه شخص واحد فقط حتى الان ولكن لا يمكن جعل اكثر من مستخدم فى وقت واحد
وكل ما علك هو فتح قاعدة البيانات عادى جداً اى كانت نوع قاعدة البيانات (.accdb) أو (.mdb) لا يوجد مشكلة من ذلك
فقط افتح قاعدة البيانات ومن ثم من القائمة بالاعلى Database Tools كما هو موضح بالصورة التالية


1- فتح قائمة Database Tools
2- اختيار خيار Access Database لتفتح معنا الشاشة التالية


كل ما علك الضغط على زر Split Database
لتفتح معك شاشة لحفظ قاعدة البيانات الجديد وركز هنا

بان مكان الحفظ سيكون من خلال فتح المسار التالى اولاً
PHP كود :
\\192.168.1.240\$DataBase

من ثم حفظ قاعدة البيانات الجديدة بها ملحوظة الاسم الذى سيتم اختياره للحفظ
سيتم اعتماده دائماً دون التعديل عليه مجدداً بعد الان تذكر هذا جيداً 

الان لنقول انه تم حفظ قاعدة البيانات الجديدة على هذا المسار بهذا الاسم 
PHP كود :
\\192.168.1.240\$DataBase$\Database_be.accdb 

الان ستلاحظ ان قاعدة البيانات التى بمجلد البرنامج عند العميل اصبح الجداول متغيرة لتصبح على هذا الشكل 
حيث انها تحتوى على علامة  قبل ايقونة الجدول اذا كان الشكل فعلياً معك بهذا الشكل
فالان انت اصبحت على النهاية تماماً من انهاء الامر ويبقي خطوة واحدة فقط

الان لديك قاعدة البيانات الرئيسية او الرسمية فى المسار جهاز الـ Server على الشبكة
ومكنها الرئيسي بالجهاز هو بارتشن D بمجلد DataBase

كل ما يمكن فعله كل اسبوع او كل شهر عمل ضغط لهذا المجلد كا فكرة النسخة الاحتياطية
طيب الان محتاج اشغل البرنامج على جهاز اخر ليعمل عليه مستخدم تانى
كل ما عليك هو نسخ مجلد البرنامج الاعتيادى على جهاز المستخدم الاخر بدون اى مشكلة
ولكن ستقوم بحذف قاعدة البيانات الرئيسية من المجلد واخذ النسخة التى بالجهاز المستخدم الاول
التى تحتوى على هذا الشكل   لايقونة الجداول داخل قاعدة البيانات وبكده ستكون انهيت كل شئ
لا يلزم احتفاظ بنسخة احتياطية من هذه قاعدة البيانات حيث انها عبارة عن Shortcut للجداول داخل قاعدة البيانات
كما لو قمت بعمل Shortcut لاى ملف على الجهاز وليكن Notepad وتجد اى نص تكتبه فى هذا الملف يسمع فى الملف الرئيسي
فهو تماماً بنفس الفكرة كلياً لكن ستحتفظ بهذا الملف منه نسخة فقط لهذا العميل بحيث اذا تم انشاء جهاز جديد لمستخدم جديد
ستقوم بوضع هذا الملف الخاص بقاعدة البيانات بجانب البرنامج لدى المستخدم بدلاً من قاعدة البيانات الرئيسية التى تتواجد بجانب البرنامج

طيب ملحوظة سريعة كده يجب الانتباه اليها
لنقول ان حدث مشكلة فى جهاز الـ Server وتم اعادة تثبيت نسخة جديدة
وبطبيعة الحال تم فقدان مسار المجلد على الشبكة وعليك اعادة الشرح من الاعلى من جديد
لكن لا تريد اعادة تهئية قاعدة البيانات من جديد وتريد عمل على نفس قاعدة البيانات الرئيسية و لدى المستخدم

لكن نسيت اسم المجلد الذى كان على الشبكة بمعنى الان انا عامل اسم المجلد على الشبكة بهذا الاسم
PHP كود :
\\192.168.1.240\$DataBase

لكن عند تنفيذ الشرح قمت بتغيير اسم المجلد على الشبكة ليكون مثلاً
PHP كود :
\\192.168.1.240\$Data

لكن الاسم على مسار بارتشن D هو نفس الاسم الاعتيادى فى الشرح وهو DataBase
فكيف تتذكر هذا الاسم لتعيد تسميته نفسه حتى يعمل نسخ قاعدة البيانات عند كل مستخدم دون اعادة تهيئتها من جديد


كل ما عليك فعله الاتى عليك فتح اى قاعدة بيانات لدى اى مستخدم والتى تحمل شكل 
من ثم تاتى على قائمة External Data كما فى الصورة


1- فتح قائمة External Data
2- الضغط على خيار Linked Table Manager لتفتح معنا الشاشة التالية


طبعاً مكان الرقم 127.0.0.1 سيكون لديك فى الشاشة الارقام 192.168.1.240 كما خصصناها فى الشرح بالاعلى
وستجد بوسط المسار جملة $DataBase$ وهو اسم المجلد على الشبكة الذى قمت بها اخر مرة

طيب خلينا نقول ان يوماً ما اصبح هذا المسار يدخل عليه اشخاص وتريد ان تقوم بتغيير اسم المجلد على الشبكة 
من اسم $DataBase$ الى وليكن $Access$ وتريد تحديث المسار لدى قاعدة البيانات المستخدمين فماذا ستفعل

بنفس الشاشة بالاعلى ستقوم بتظليل كلاً من المسميات الجداول من خلال الضغط على زر Select All
ومن ثم تنشيط Always prompt for new location بعد ذلك الضغط على زر OK كما هو موضح فى الصورة التالية


بعد الضغط على OK

ستجد انه يطلب منك تحديد قاعدة البيانات على المسار الجديد ويجب ان يكون من خلال الشبكة ليصبح على هذا الشكل كمثال
PHP كود :
\\192.168.1.240\$Access$\ 

من ثم اختيار قاعدة البيانات التى بالمجلد والضغط على زر Open
لتجد بعد ذلك بانه تم تحديث مسار قاعدة البيانات الجديدة فكل ما عليك هو الضغط على زر Close من الشاشة
من ثم اغلاق قاعدة بيانات المستخدم ونسخها على باقى اجهزة المستخدمين للبرنامج

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

وانهى بالنهاية لمن سيكون لديك سؤال قد يكون موحد على الاغلب وهو

-----------------------------------------------------------
كيف سيكون كود الاتصال بقاعدة البيانات من خلال البرنامج ؟
ج: الكود المستخدم نفسه وسيكون المسار هو المسار الافتراضى بجانب البرنامج الاعتيادى وليس مسار الشبكة فانتبه لذلك.
-----------------------------------------------------------

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

مرفق الصور المستخدمة فى الشرح + الشرح كاملاً PDF

تحياتى للجميع
وتمنياتى لكم التوفيق الدائم


الملفات المرفقة
.zip   الصور.zip (الحجم : 104.61 ك ب / التحميلات : 1,104)
.pdf   شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية.pdf (الحجم : 372.47 ك ب / التحميلات : 2,303)
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

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


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
#2
مشكور الاخ الكريم ربي يجعلها في ميزان حسناتك
الرد }}}
تم الشكر بواسطة: elgokr , عبدالله اااا
#3
(23-11-18, 09:32 PM)hassan 14 كتب : مشكور الاخ الكريم ربي يجعلها في ميزان حسناتك


الشكر لله والحمد لله

والحمد لله على كل حال

تقبل الله منك الدعاء ولنا جميعاً ان شاء الله

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

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


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة: ahmadpal
#4
السلام عليكم و رحمة الله و بركاته
بارك الله فيك .. تم التقييم للموضوع المميز
لا أعرف كيف فاتني هذا الموضوع و لم أنتبه له الا الان
جزاك الله خيرا .. و اثابك جنات النعيم ان شاء الله
تحياتي و تقييماتي
قناتنا على اليوتوب
الرد }}}
تم الشكر بواسطة: elgokr , elgokr , ahmed_king2023 , ahmed_king2023 , ahmed_king2023
#5
وعليكم السلام ورحمة الله وبركاته

مرحباً اخى عبد العزيز البسكري
لا عليك اخى فالجميع متركز على قسم اسئلة .Net
فمن النادر وجود البعض بالنزل للاسفل ليتم الاطلاع على الاقسام الاخري
لذلك لا ينتبه البعض للمواضع والبعض الاخر يقوم بانشاء 
السؤال او غيره فى اقسم الغير مناسب ويرجع لقلة الحركة فى الاقسام الاخري

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

تقبل الله منك الدعاء لى ولك وللجميع بامر الله

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

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


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
#6
بوركت أخي الفاضل وعودا حميدا
الرد }}}
تم الشكر بواسطة: elgokr
#7
بارك الله فيك مجهود تشكر عليه ما شاءالله تبارك الله 

طريقه احتاج لها 

بس عندي سؤال في حالت الاتصال بالقاعدة

هل هذه الطريقه صحيحه

كود :
Dim con As New SQLiteConnection("Data Source= \\192.168.1.240\$Accídb$\DB1.s3db")
تعديل :-  الان انتبهت اني في قسم مايكرسوفت أكسيس Microsoft Access اعتذر اذا ردي موب في مكانه الصحيح
الرد }}}
تم الشكر بواسطة: elgokr
#8
ايضا ممكن ترفع القاعدة على موقع برابط مباشر وتعمل نفس العمل لكن بشكل اوسع

هم يسرقون والقانون كتب لنا...

الرد }}}
تم الشكر بواسطة: elgokr
#9
(26-11-18, 10:07 AM)dametucorazon كتب : بوركت أخي الفاضل وعودا حميدا

تسلم اخى dametucorazon

تحياتى لك
وتمنياتى لك التوفيق

(26-11-18, 01:13 PM)dubai.eig كتب : بارك الله فيك مجهود تشكر عليه ما شاءالله تبارك الله 

طريقه احتاج لها 

بس عندي سؤال في حالت الاتصال بالقاعدة

هل هذه الطريقه صحيحه

كود :
Dim con As New SQLiteConnection("Data Source= \\192.168.1.240\$Accídb$\DB1.s3db")
تعديل :-  الان انتبهت اني في قسم مايكرسوفت أكسيس Microsoft Access اعتذر اذا ردي موب في مكانه الصحيح

فى كود الاتصال تم التوضيح بالشرح بالاعلى
انه سيتم عمل كود الاتصال الاعتيادى وهو بجانب البرنامج وليس مسار الشبكة


وتذكر ان قواعد بيانات Sql تختلف كلياً عن شرح Access

تحياتى لك
وتمنياتى لك التوفيق

(26-11-18, 07:53 PM)DK-x كتب :
ايضا ممكن ترفع القاعدة على موقع برابط مباشر وتعمل نفس العمل لكن بشكل اوسع


لا طبعاً اخى DK-x

لا يمكنك فعل ذلك لان امور رفع على موقع الكتروني واستخدام قاعدة بيانات من نوع Access
ستحتاج الى ان يكون الرابط عبارة عن FTP ويحتوى على اسم المستخدم وكلمة المرور للدخول على FTP
حتى تتاح له عملية القراءة والكتابة لان الروابط الاعتيادية فقط عبارة عن قراءة فقط اى لا يمكنك تنفيذ اكواد
التعديل و الحذف والاضافة

وطبعاً من الخطر جداً وضع بيانات FTP حتى واذا كان مخصص على مجلد قاعدة البيانات فقط
لان من السهولة استغلالها من خلال رفع ملف شيل والتحكم فى جميع ملفات الموقع

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

ولذلك يفضل التعامل مع قواعد بيانات من نوع Sql Server او Mysql
حتى تتمكن من اتمام عمل ما تشير اليه بكل سهولة وبدون اى خطورة

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

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


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة: dubai.eig , أبوبكر سويدان , dia trya
#10
ما شاء الله شرح اكثر من رائع من مبدع اكثر روعه استفدت من شروحاتك وردودك ومشاركاتك . شكرا لك
الرد }}}
تم الشكر بواسطة: elgokr


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] مساعدة في ربط جهاز البصمة بقاعدة بيانات access سعيد كنيمو 4 3,646 21-10-23, 04:52 PM
آخر رد: ُEzril3
  [سؤال] محتاج أربط قاعدة البيانات ب جوجل دريف ؟؟؟ Harmhanz 0 376 07-10-23, 02:56 AM
آخر رد: Harmhanz
  بيانات الطلاب seddiki_adz 0 478 16-07-23, 11:22 PM
آخر رد: seddiki_adz
Video فرز نموذج فرعي من خلال Listbox في قاعدة بيانات اكسيس ggtt17121985 0 581 16-06-23, 02:50 AM
آخر رد: ggtt17121985
  مساعدة في كود VBA لقاعدة بيانات إدارة مشاريع أحمد عامر 19 1,797 02-04-23, 08:50 PM
آخر رد: أحمد عامر
  مساعدة في كود VBA لقاعدة بيانات إدارة مشاريع أحمد عامر 1 386 28-03-23, 06:53 PM
آخر رد: sanyor77
Photo [سؤال] بخصوص تغير ترميز قاعدة البيانات MSSQL Chiqwa 1 446 17-01-23, 11:55 PM
آخر رد: Amir_Alzubidy
  [كود] رسالة خطا عند استبدال معلومات في قاغدة بيانات kamel1978 0 499 03-12-22, 08:25 PM
آخر رد: kamel1978
  كود جاهز سهل لربط لأرفاق الملفات خارج قاعدة البيانات hanymajdy 0 1,121 31-10-22, 12:38 PM
آخر رد: hanymajdy
Star مشكلة قاعدة البيانات لاتقبل التعديل على التصميم lord52436 1 769 25-10-22, 03:14 PM
آخر رد: Taha Okla

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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم