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

قفل الجداول على الشبكة

مغلق
بدأه foxpro9 في 20 يناير 2008 · 11 رد · 2,807 مشاهدة · في قواعد بيانات Visual FoxPro
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم :

لدي برنامج يعمل على الشبكة واحيانا اريد ان اقوم بصيانة للجداول او عمل reindex أو pack لجدول ولكن المستخدمين في الشبكة يعملون على البرنامج وهنا يجب اقفال البرنامج على جميع اجهزة الشبكة ويصادف ان احد الموظفين لايقوم يقفل البرنامج لعدم وجوده امام الكمبيوتر هل هناك طريقة لقفل الجداول من السيرفر او هناك code يساعدني في ذلك الرجاء المساعدة وشكرا لكم

#2

الحل بسيط فى فيجوال فوكس برو

1 - اما تفتح الجدول بصفة خاصة Exculsive - حل غير عملى على الشبكة

2 - او تفتحه بصفحة عامة Shared ثم تغلقه عند الحاجة باستخدام ()FLOCK (دالة اغلاق الملف)

ولغلق سجل تستخدم ()RLOCK

وللتراجع عن الاغلاق الامر UNLOCK

مع تحياتى

محمود فايد

تم تعديل هذه المشاركة بواسطة محمود سمير في 20 يناير 2008 في 13:02

#3

عزيزي فوكس برو 9 هناك اكثر من طريقة

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

الاخ الزميل محمود سمير جزاه الله خيرا ذكر لك اوامر اغلاق الجداول ، في هذه المسألة انا استخدمها بين المستخدمين حتى لا يحدث تضارب اي بمعنى ان قام احد المستخدمين بتعديل سجل معين يتم تعطيله عن بقية المستخدين من التعديل به مؤقت.

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

SO WHAT

ممكن تعمل برمجيا

وشكرا

#4

عزيزي فوكس برو 9

الحل الثاني عمل شاشة لمراقبة المستخدمين

BUILD A NETWORK MONITORING SYSTEM WITH VISUAL FOXPRO

خذ الرابط التالي

اضغط هنا

#5
محمود سمير كتب:
الحل بسيط فى فيجوال فوكس برو

1 - اما تفتح الجدول بصفة خاصة Exculsive - حل غير عملى على الشبكة

2 - او تفتحه بصفحة عامة Shared ثم تغلقه عند الحاجة باستخدام ()FLOCK (دالة اغلاق الملف)

ولغلق سجل تستخدم ()RLOCK

وللتراجع عن الاغلاق الامر UNLOCK

مع تحياتى

محمود فايد

مشكور اخي الكريم على ردك ولكن :

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

#6
VFPman كتب:
عزيزي فوكس برو 9 هناك اكثر من طريقة

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

الاخ الزميل محمود سمير جزاه الله خيرا ذكر لك اوامر اغلاق الجداول ، في هذه المسألة انا استخدمها بين المستخدمين حتى لا يحدث تضارب اي بمعنى ان قام احد المستخدمين بتعديل سجل معين يتم تعطيله عن بقية المستخدين من التعديل به مؤقت.

SO WHAT

ممكن تعمل برمجيا

وشكرا

مشكور اخي الكريم على ردك ولكن :

1 - كيف اقوم بتعطل جميع المستخدمين من الاستعلام والتعديل بالبيانات برمجايا تعطيلا مؤقتا ؟

2-اذا كان احد الموظفين تارك البرنامج شغال اي الجداول مفتوحة لااستطيع ان اعمل برمجيا

#7
VFPman كتب:
عزيزي فوكس برو 9

الحل الثاني عمل شاشة لمراقبة المستخدمين

BUILD A NETWORK MONITORING SYSTEM WITH VISUAL FOXPRO

خذ الرابط التالي

اضغط هنا

مشكور على الرابط ولكن :

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

#8

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

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

قم بعمل جدول اضافى فى قاعدة البيانات - لمتابعة المستخدمين

فى هذا الجدول - يمكنك تعريف سجل لكل جهاز - بحيث يوضع قيمة .T. للجهاز الذى قام بقتح قاعدة البيانات

يمكنك استخدام() NETNAME لمعرفة اسم الجهاز وايضا (0)sys

ولكن لا انصحك بهذا الحل نهائيا - فهو ليس مناسب لمشكلتك

الحل المثالى - قم بتعريف قيمة فى سجل فى جدول - هذه القيمة اما .t. او .f.

وقم بعمل timer فى البرنامج - اذا كانت هذه القيمة .t. فذلك معناه انك تريد عمل صيانة

عندها يقوم البرنامج تلقائيا من خلال كود التايمر - باغلاق قاعدة البيانات - وعرض شاشة توقف

وعند انتهاء العملية - ارجع القيمة الى .f.

وضع فى حسبان كود التايمر - انه فى حالة كون القيمة .f. - يتم الغاء شاشة التوقف

ويتم متابعة العمل

مع تحياتى

محمود فايد

#9

برافو عليك اخ محمود سمير سبقتني

اقتباس
1 - كيف اقوم بتعطل جميع المستخدمين من الاستعلام والتعديل بالبيانات برمجايا تعطيلا مؤقتا ؟

تقدر تطرده بعد

اخ فوكس برو انا عملت لك برنامجين مفصلين لكن يستخدوا جدول

سوف تفهم ما اقصد ، قصدي كما ذكر لك الاخ محمود

post-140773-1200921852_thumb.jpg

B.rar

#10

شكرا لكم على ردكم لقد استفدت من افكاركم جزاكم الله خيرا

#11

العفو يا عزيزي

من خلال اسأئلتكم نستفيد نحن ايضا يكفي انك تجعلنا نشغل ادمغتنا للوصول الى الحل الامثل

بالنهاية اتمنى الملف المرفق يكون مفيد لك ولكل الاصدقاء.

#12
اقتباس
شكرا لكم على ردكم لقد استفدت من افكاركم جزاكم الله خيرا

بارك الله فيك - واهلا ومرحبا بك معنا

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

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