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

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

بدأه اسرار البرمجة في 1 أبريل 2008 · 16 رد · 2,030 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

يا اخوان

السلام عليكم و رحمة الله و بركاته

و بعد

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

والبرنامج ظل يغمل ما يقارب السنة و الاربعة اشهر

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

لذا ارجو منكم مساعدتي على حل هذه المشكلة (و اتمنى اني لا احتاج لكتابة البرنامج من جديد)

و للعلم فاني قد استخدمت اكسس كقواعد بيانات و VB.Net 2002

و قد استخدمت اداة OleDbDataAdapter1 لجلب قاعدة البيانات و موقعا على جهاز المستخد يجب ان تكون بقسم C من الهارديسك

و لكم مني جزيل الشكر و التقدير

اســرار البــرمجــــة
#2

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

ثانيا لابد ان تتعامل مع مايسمى transaction او threads وهي الاليه اللتي تتعامل مع اوامر البرمجة والاتصال بقاعدة البيانات بحيث انك تضمن عملية synchronization وال serialaization

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#3

اخي الكريم

ممكن توضح اكثر

اســرار البــرمجــــة
#4

أخوي أسرار البرمجة

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

وحسب مافهمت أيضا أنها هناك سيرفر وهذا يعني انها شبكة من نوع client/server

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

وينتهي الأمر

#5

طيب يا اخي الكريم

و لكن كيف اعدل هذا الشي

و اين اظع قاعدة البيانات على السيفر

اســرار البــرمجــــة
#6

السلام عليكم ورحمة الله

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

بعد ذلك انت بحاجة الى تغيير الاتصال connectionstring بدل مثلا C:\db\mydb.mdb الى شيء مثل \\server\db\mydb.mdb

وانظر الى هذه المشاركات في قسم الاكسس فهي نفس الفكرة ولتعرف سلبيات هذه الطريقة

/index.ph...151615&st=0

/index.ph...mp;#entry402288

#7

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

فمثلا انت لديك جهازين يعملان في نفس الوقت اي نقطتي بيع نقطة 1 ونقطة 2

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

هذه احدى المشاكل وهيه مشاكل التزامن.

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#8

معليش يا اخوان تحملوني شوي

انا استخدمت اداة OleDbDataAdapter1

و كان الاتصال بهذه الطريقة من خلال Data Adapter configuration wizard

اخترت نوع الاتصال من Provider ................... microsoft jet 4.0 provider

ثم من connetion اخترت المسار و هو ACCESS.C:\data baseof AAA\AAA.mdb.Admin

حيث AAAهو اسم قاعدة البيانات و عند عمل الاتصال يتم بنجاح

فسؤال هل اضع قاعدة البانات هذه في السيرفر في ال C من الهارديسك و كيف اعمل الاتصال مع السيرفر....

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

اما الجهاز الثالث هو المسؤل عن جميع التطبيقات

ولكم جزيل الشكر

اســرار البــرمجــــة
#9

السلام عليكم

اذهب الويندوز الى قائمة ابدأ ثم تشغيل وضع الامر SHRPUBW.EXE على جهاز السيرفر واختر المجلد الذي وضعت به قاعدة البيانات ثم ضع اسم للمجلد المشترك share name مثلا db وانتقل في المعالج وضع صلاحيات او اسماء المستخدمين الذين سيدخلون على البرنامج او ضع everyone مع اعطاء كامل الصلاحيات .

ننتقل الى البرنامج بدل C:\data baseof AAA\AAA.mdb نضع

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

\\server\db\aaa.mdb

تم تعديل هذه المشاركة بواسطة TareqVB في 1 أبريل 2008 في 12:19

#10

بسم الله الرحمن الرحيم

اخي الكريم

لقد اتبعت الخطوات التي ارشدتني اليها و هي ...

1. في البداية اخذت نسخة من قاعدة البيانات المسماه test001 و المتواجده داخل مجلد باسم TEST و وضعت هذا المجلد في السي من الهارديسك في السيرفر

2. لقد قمت باستخدام الامر اللذي ذكرته لي و هو SHRPUBW.EXE في جهاز السيرفر و ظهر لي مربع حوار حددت فيه اسم الفوردر TEST المتواجد في السي و وضعت اسم مشاركة هو كما ذكرت db

3. انتقلت الى البرنامج محاولا عمل الاتصال كما ذكرت لي بالكود و لكن لم ينجح الاتصال بل ظهرت لي هذه الرسالة الموضجة بالصورة المرفقة

فماذا افعل

ولكم مني جزيل الشكر و التقدير

post-72367-1208174035_thumb.jpg

اســرار البــرمجــــة
#11

يا اخوان ارجو المساعدة

اســرار البــرمجــــة
#12

هل من مجيب على سؤالي ................. لو سمحتوا

اســرار البــرمجــــة
#13

ارجو المساعدة

اســرار البــرمجــــة
#14

أخي لا تستخدم معالج adapter لتكوين الاتصال الشبكي قم بعمله local على جهازك بالأول ومن ثم قم بتغير الconnectionstring من الخصائص بعد انهاء المعالج وقم بنفس العمليات التي حكوا عنها الأخوة.

لا إله إلا الله العظيم الحليم,لا إله إلا الله رب العرش العظيم,لا إله إلا الله رب السموات ورب الأرض ورب العرش الكريم.

#15

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

اســرار البــرمجــــة
#16

السلام عليكم ورحمة الله وبركاته

اختي اسرار البرمجة كيف حالك

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

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

ثاني شي تأكدي من الجدار الناري انه مقفل

وحطي القاعدة بالسي بعدين سوي المسار

والله الموفق

اللهم اكتب لنا صيام شهر رمضان وقيامه وأغفر لنا وأرحمنا ياأرحم الراحمين

م . عبدالرقيب أحمد

المملكة العربية السعوديه - جده

max1424@Hotmail.com

#17

الاخ السائل لأستخدام قاعدة بيانات من نوع أكسس لتعمل على أكثر من جهاز هذا ممكن بأن تضع قاعدة البيانات على جهاز وتعمل لها مشاركة وفى الأجهزة الأخرى تعمل Drive جديد وتسميه مثلاً Z مثل ال C وتعدل الأتصال من البرنامج على الأجهزه الأخرى ليتصل بدل من ال ......\:C يكون .....\:Z وبهذا ينجح الأتصال

والحل الأخر هو ان تحمل Sql server 2000 على جهاز من الأجهزه الثلاث وهو به خاصية تحويل قاعدة البيانات من النوع أكسس آلى Sql عن طريق Import And Export Data وسيتم تحويلها بكل بياناتها ولكن هيكون عليك بعض التعديلات البسيطة فى الجداول مثل ال Index لأنه عند التحويل يلغى ال indx

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

والحل التانى أفضل

كل من فى الوجود يطلب صيداً :::: غير ان الشباك مختلفات

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…