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

قم باستخدام قاعدة بيانات منفصله.

الاخ الجوكر قام بشرح الطريقه هنا تفضل

الرد
تم الشكر بواسطة: elgokr , elgokr , حريف برمجة
#3
شكرا لك اخي .قرات هذه الطريقه ولكن تواجهني فيها مشكلتين.اولا ان البرنامج يعتمد في طريقة حماية بحيث لايعمل الا علي جهاز واحد ويتم ذذلك عن طريق التحقق من شئ في قاعدة البيانات.ثانيا.عند عمل split لقاعدة البيانات ينتج نسخه من قاعدة البيانات مفتوحه ليس عليها باسورد النسخه الاصليه.
كيفية الحل لتلك المشكلتين
الرد
تم الشكر بواسطة: حريف برمجة
#4
هل لي ان استفسر ان كان بالامكان ان تستخدمو sql server يكون مثبت باحد الاجهزة المهيأ ليكون سيرفر ويكون الاتصال به عن طريق الـIp.
الرد
تم الشكر بواسطة: asemshahen5 , elgokr , حريف برمجة
#5
شكرا اخي سعود.لا اعتقد انه من السهل التغير الان من اكسس الي sql server
الرد
تم الشكر بواسطة: سعود , حريف برمجة
#6
(21-06-19, 11:30 PM)makky كتب : شكرا اخي سعود.لا اعتقد انه من السهل التغير الان من اكسس الي sql server

طيب لو الجهاز مثبت عليه سيرفر ويندوز ويدعم asp.net اليس من الاسهل برمجة وسيط بين ملف القاعدة Access  والطلبات لها ؟.
الوسيط هو WebService وهو عبارة عن دالة (حسب تعبيري الخاص) لو تبحث باليوتيوب عن كيفية الاتصال بقاعدة البيانات عبر  هذه الانفة الذكر  قد تميل لهذه الفكرة لانها افضل من مشاركة ملف معين على الشبكة.
لما تنشيء ويب تضع ملف الاكسس ضمن مجلد App_Data  وتتصل وتجري كافة الاجراءات بشكل عادي جدا على العميل فقط ارسال طلبات واستقبال الرد.
الرد
تم الشكر بواسطة: حريف برمجة
#7
(21-06-19, 11:18 PM)makky كتب : شكرا لك اخي .قرات هذه الطريقه ولكن تواجهني فيها مشكلتين.اولا ان البرنامج يعتمد في طريقة حماية بحيث لايعمل الا علي جهاز واحد ويتم ذذلك عن طريق التحقق من شئ في قاعدة البيانات.ثانيا.عند عمل  split  لقاعدة البيانات   ينتج نسخه من قاعدة البيانات مفتوحه ليس عليها باسورد النسخه الاصليه.
كيفية الحل لتلك المشكلتين

اخى الكريم makky


اولاً : مع قواعد البيانات access لا يمكن جعل اكتر من مستخدم يعمل عليها فى ان واحد
لذلك يجب تطبيق الشرح الذى قمت به بتوضيح كيفية جعل الـ access يعمل على اكثر من مستخدم

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

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

فمثلاً الجهاز الذى عليه قاعدة الباينات الرئيسية كمثال المسار التالى
PHP كود :
\\myname-pc\data\filedata.accdb 

وهو نفسه كالتالى
PHP كود :
\\192.168.106\data\filedata.accdb 
فهنا عليك تسجيل اسم الجهاز والتعامل به بدلاً من الـ IP
بحيث بدلاً من عمل كود تفعيل يكون اسم الجهاز يسجل بطريقة مخصصة منك فى قاعدة البيانات مثلاً او فى ملف ما بمجلد البرنامج

فانت الان عند عمل كود الاتصال بقاعدة البيانات تقوم بالتالى كمثال
كود :
   Dim str As String = "provider=microsoft.ace.oledb.12.0;data source=\\myname-pc\data\filedata.accdb"

فكل ما عليك فى شاشة تسجيل الدخول مثلاً

فى حدث اللود فى اول سطر اضف
كود :
       If Not str.Contains("myname-pc") Then Application.Exit()

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

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

وما اشير اليه هنا فقط كل ما عليك البحث عن
PHP كود :
machine serial number 

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

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


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد
تم الشكر بواسطة: makky , حريف برمجة
#8
شكرا لحضرتك اخر الجوكر.لكن استفسار بسيط ان امكن.دلوقت فرضا عندي قاعدة البيانات اسمها dab بعد ما عملت ليها split اصبح هناك قاعدتين واحده dab_be وقاعدة اخري dab. اي قاعدة ستكون علي الجهاز السيرفر واي قاعدة ستكون علي الجهاز الثاني وهل سيتم تغير اسم القاعدة من dab_be الي dab حتي تتناسب مع الاسم في جملة الاتصال.وثالثا بالنسبه لكود الاتصال بالنسبه للجهاز الثاني هل سيكون هو المسار الافتراضي الذي بني عليه البرنامج ام مسار الجهاز السيرفر.اسف للاطالة وشكرا لسعة صدرك اخي الكريم
الرد
تم الشكر بواسطة: حريف برمجة , حريف برمجة , elgokr , elgokr
#9
(22-06-19, 09:35 AM)makky كتب : شكرا لحضرتك اخر الجوكر.لكن استفسار بسيط ان امكن.دلوقت فرضا عندي قاعدة البيانات اسمها dab  بعد ما عملت ليها split  اصبح هناك قاعدتين واحده dab_be   وقاعدة اخري  dab.  اي قاعدة ستكون علي الجهاز السيرفر واي قاعدة ستكون علي الجهاز الثاني وهل سيتم تغير اسم القاعدة من dab_be   الي dab حتي تتناسب مع الاسم في جملة الاتصال.وثالثا بالنسبه لكود الاتصال بالنسبه للجهاز الثاني هل سيكون هو المسار الافتراضي الذي بني عليه البرنامج ام مسار الجهاز السيرفر.اسف للاطالة وشكرا لسعة صدرك اخي الكريم

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

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

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


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

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

بخصوص الاستفسار الثاني

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


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

بخصوص الاستفسار الثالث

الرجاء الرجوع الى الموضوع مجدداً واتمنى قراءته مجدداً جيداً لان الاجابة هنا
إقتباس :كيف سيكون كود الاتصال بقاعدة البيانات من خلال البرنامج ؟

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

ولا تتردد باى سؤال او استفسار عن اي شي

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

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


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد
تم الشكر بواسطة:
#10
جزاك الله خيرا اخي. المشكله التي واجهتني الان عند عمل باسور للeb واجي اعملrelink للجداول بيقولي not invalid password علي الرغم انها نفس الباسور فيfe
الرد
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  حفظ واستدعاء الصور من قاعدة بيانات Database.sdf abdousoft 0 66 09-12-19, 12:24 AM
آخر رد: abdousoft
  نسخ بيانات حقل لحقل اخر في نفس الجدول bassant 4 203 09-11-19, 12:51 AM
آخر رد: baha
  قاعدتين بيانات من نوع اكسس في نفس البرنامج الوايلي 0 133 26-10-19, 09:26 AM
آخر رد: الوايلي
  سؤال : طريقة ربط الفيجوال بيسك بقاعدة بيانات mysql عن طريق صفحة php وسيطة alfaiz678 5 384 30-09-19, 11:53 AM
آخر رد: alfaiz678
  منع التكرار في اضافة بيانات لقاعدة بيانات أكسس vb.net ahmedshafea 3 6,168 01-07-19, 12:28 PM
آخر رد: essamprog
Information [سؤال] انشاء قاعدة بيانات access واضافة جدول وحقول بكود vb.net fefooo29 4 3,952 10-06-19, 09:31 PM
آخر رد: sherf
  مساعدة في تصميم قاعدة بيانات ادارة ساعات عمل الموظفين Rabeea Qbaha 6 428 06-06-19, 12:23 AM
آخر رد: elgokr
  استدعاء بيانات من اكثر من جدول المتألق9 1 367 04-06-19, 10:29 PM
آخر رد: احمد نعمة السلامي
  [VB.NET] رسالة خطأ عند الحذف أو تعديل بيانات جديدة #concurrency violation# sniperjawadino 11 815 28-05-19, 10:50 PM
آخر رد: sniperjawadino
  مثال بسيط لقاعدة mdf اسامه الهرماوي 10 622 16-05-19, 11:52 PM
آخر رد: اسامه الهرماوي

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


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