(18-03-20, 03:08 AM)محمد كريّم كتب : هل تقصد أنك مثبت سيرفر منفصل على كل جهاز وتقوم بمشاركة ملف قاعدة البيانات بينهما ؟
إذا كان كذلك فهذه ليست مشاركة وليست قاعدة بيانات، لأن قواعد بيانات microsoft SQL server ليس معتمدة على الملفات filebased
لأن السيرفر أول ما يشتغل يقوم بعمل قفل على جميع ملفات قواعد البيانات المحملة عليه ويتطلب إخراجها من السيرفر قبل القيام بعمليات على ملفاتها Take Offline
الأفضل الوصول إلى قاعدة البيانات من خلال السيرفر وليس التعامل مع الملف في كل مرة
يمكنك الاتصال بالقاعدة على الجهاز الآخر الذي يشغل سيرفر بكل سهولة ولأكثر من مستخدم في نفس الوقت
اشكرك يا محمد كريّم للرد
ولكن المشكله مش انى عاملين سيرفرين .. لأ طبعا
انا بتعامل مع ملف قاعدة البيانات كملف منفصل بأمتداد mdf وبجرى عليه الاتصال وكل العمليات بتاعتى على انه ملف منفصل بمعنى انى ال exe وال mdf موجودين داخل مجلد خاص اسمه MyAppTest والمجلد ده بنقله على فلاش ميمورى وبشغله من اى مسار على اى جهاز ..... بيشتغل عادى بدون تستطيب سيرفر
مثال :
عندى على الشبكه الداخليه 3 أجهزه A و B و C
المجلد MyAppTest يحتوى على App.exe و DB.mdf والمجلد ده موجود على الجهاز A ف المسار D:\Progs\MyAppTest وقد عملت مشاركه للمجلد ده على الشبكه الداخليه
جملة الاتصال هى
Server=(localdb)\v11.0; AttachDBFileName=|DataDirectory|\DB.mdf
التطبيق على الكلام ده
1 - من جهاز A لو دخلت على المسار ده وفتحت البرنامج بيشتغل عادى
2 - من جهاز B لو دخلت على المجلد المشير فى الجهاز A وفتحت البرنامج بيتشغل عادى
3 - من جهاز C لو دخلت على المجلد المشير فى الجهاز A وفتحت البرنامج بيتشغل عادى
اومال المشكله فين ؟؟
المشكله انى لو حبيت افتح البرنامج على اى جهازين من ال 3 دول ف وقت واحد
بمعنى انى لو فتحت البرنامج من على الجهاز A يشتغل وبعده شغلت B لا يشتغل الا لو قفلت البرنامج على A
وذكلك لو فتحت البرنامج على الجهاز B لوحده بيشتغل عادى لكن لو جيت شغلته من على الجهاز A أو C لا يشتغل الا لو قفلت البرنامج اللى شغال على B ف نفس الوقت
يارب أكون عرفت اوصل المشكله بتاعتى