بتاريخ: 3 ديسمبر 200619 سنة comment_85764 السلام عليكم ...اخواني واخواتي مبرمجي الاوراكل لدي مشكلة بسيطة .. وهي انني صممت نظام محاسبي شبه متكامل لشركةولكن بقيت مشكلة عندي في نظام المدير اوصلاحيات المديروقد اشترطت عليا الشركة عمل نظام للمدير يقوم بالتالي :اولا : معرفة المستخدم الذي دخل النظام عند دخوله وهذة ما فيها مشكلة .ثانيا: معرفة وقت دخول المستخدم النظام ووقت خروجه وهذة ايضا ما فيها مشكلة .ثالثا: ايقاف مستخدم معين عن الدخول اذا دخل في وقت غير المحدد له .رابعا: وهنا المشكلة وهي طرد المستخدم بمجرد تاشير المدير على check box التابع لطرد المستخدمولكن واجهتني مشكلة .. مع العلم اني عملت مستخدمين على الفورم اي في جدول خاص في قاعدة البيانات خصصته للمستخدمين ولم اعمل على مستخدمين قاعدة البيانات ..ففكرت بالتالي ان اعمل تايمر على مستوى كل شاشة من شاشات النظام يقوم بتحسس جدول المستخدمين وهل هناك امر طرد .. وهذا حل منطقي ولكن الشاشات المتواجدة عندي كثيرة جدا اكثر من 80 شاشةفمن غير المعقول عمل تايمر على مستوى كل شاشة ...فاللي عنده حل رجاء يسعفنا فيه وله جزيل الشكر والتقدير املا اني قد وضحت المشكلة ..ولكم خالص التحية والتقدير ............اخوكم الجنتل . تقديم بلاغ
بتاريخ: 4 ديسمبر 200619 سنة comment_85797 الاخ الكريمبالنسبة لطرد المستخدم فيوجد طريقة اسهل وهي انك تنهي عمل session فلكل مستخدم sessionمعينيعني تعمل kill session وكنا زمان نطبق هذه المعادلة بس ما ابتفي بالغرض اذا كنت تريد ان تنفذها من خلال فورم وهي --ممكن تطبيق الجملة من خلال الداتا بيس مباشرة alter system kill session 'sid,serial#' بس لازم يكون لليوزر صلاحيات تساوي صلاحيات يوزر sysعلى جدول v_$session وبالشكل التالييعني اعطي صلاحيات لليوزر على الجدول اللي ذكرته وحط هذا البروسيجر اذا كنت تريد التنفيذ في الشاشة وبمشي حالك ان شاء الله begin for i in (select sid,serial# from v$session where username = 'OSAMA ) loop execute immediate 'alter system kill session ' ||''''|| i.sid ||','|| i.serial# ||''' immediate'; end loop; end; ارجو ان تكون هذه المعلومة افادتكوسؤالك مميز بصراحة ونرجو الاستمرار بمثل هذه الاسئلة تقديم بلاغ
بتاريخ: 4 ديسمبر 200619 سنة comment_85808 السلام عليكم الأخ أسامة يبدو انه قد فاتك جزء من سؤال الأخ السائل فهو ذكر ان المستخدمين لديه ليسوا داتا بيز يوزرز و هم يوزرز في جدول خاص بالنظام فقط و ليس الداتا بيز لذلك لا يمكن عمل KILL SESSION و بالنسبة للاخ السائل هناك فكرة ف ي رأسي و لكن لم اجربها تعتمد عل ي فكرتك الأصلية و هي عمل التايمر و لكن علي شاشة واحدة و هي الشاشة الرئيسية او شاشة الدخول بشرط ان تستخدم طريقة في فتح الفورمز تستعدعي انه عند إغلاق الشاشة الرئيسية تغلق باقي الشاشات و هذا طبعا مع تحفظي علي استخدام التايمر خاصة في الويب ابلكيشنز لما يسببه من بطء في النتورك و غيره من المشاكل جرب و عموما السؤال جميل فعلا كما قال الأخ أسامة و أكيد هناك حل سنحاول ايجاده بالتوفيق تم تعديل 4 ديسمبر 200619 سنة بواسطة hanon_OCP تقديم بلاغ
بتاريخ: 4 ديسمبر 200619 سنة comment_85814 لحل مشكله يوزر ابلكيشن و ليس داتا بيز يمكن عمل جدول و عمل ادخال فيه بعد فتح السيشن مباشره في البرنامج وتسجيل رقم السشن و اسم اليوزر الي شغال بيها و الجهاز الذي تم فتح السشن منه و الوقت وبناء علي هذه المعلومات يمكنك استخدام KILL SESSION مع تمنياتي بالتوفيق تقديم بلاغ
بتاريخ: 4 ديسمبر 200619 سنة comment_85905 الاخ عبد اللهيعمل يوزر على قاعدة البيانات افضل له تقديم بلاغ
بتاريخ: 4 ديسمبر 200619 سنة كاتب الموضوع comment_85936 السلام عليكمشكرا لكم اخواني على اجاباتكم بالنسبة للصلاحيات وعمل مستخدمين على الداتا بيز فأنا من المتشائمين من هذة الطريقة وذلك لسببانه اذا تم معرفة اي يوزر نيم وباسورد لاي مستخدم فعال في النظام فبإمكان اي مستخدم له خبرة ولو بسيطة في الداتا بيز ان يخش على قاعدة البيانات ويعمل مشاكل وقد واجهتني هذة المشكلة في مرة من المرات ومن بعدها لم اعد استخدم غير مستخدمين على جدول معين اقوم بعمله في قاعدة البيانات التابعة لي وبهذة الطريقة لا اسمح لاي احد من دخول قاعدة البيانات .طبعا مع شكري الجزيل للاخ الكريم اسامة الذي اشار علي باستخدام الــ kill sessionاما بالنسبة للاخ الكريم هانون فقد فهمت طريقته ولا اعرف ان كنت فهمتها جيدا ولكن المشكلة ان التايمر وبمجرد الخروج من الشاشة اللي عامله عليها يتم ايقافة اي ان التايمر لا يعمل جلوباال على مستوى الفورمز كله ..واخي الكريم عبدالله ندا ارجو منك ان توضح لي الطريقة التي اشرت بها ولو بمثال ولك كل التقديرواشكركم على تعاونكم والمعلومات القيمة التي ادليتم بها ..وتقبلوا خالص تحياتي وتقديري ..اخوكم الجنتل ................................. تقديم بلاغ
بتاريخ: 4 ديسمبر 200619 سنة comment_85949 السلام عليكم الأخ الكريم بالنسبة لمسألة اذا كان المستخدمين علي قاعدة البيانات افضل او علي الابلكيشن فبالطبع علي الداتا بيز افضل كثيرا خصوصا عند طلب اشياء مثل التي تسال عليها فيمكنك بسهولة عمل kill session لكل يوزر حسب اسمه بالاضافة الي امكانية التعامل بسهولة مع الصلاحيات علي الداتا بيز فبالنسبة لي شخصيا فقد استخدمت من قبل شاشة استطيع ان اري من خلالها المستخدمين المتصلين و بيانات عنهم و عمل انهاء لاتصالهم بكل سهولة و بالنسبة لكلامك عن امكانية دخول احد المستخدمين علي قاعدة البيانات بعيدا عن البرنامج نفسه مثلا من التود او السكول بلس فامكانية منعه امر سهل جدا و له عدة طرق منها منها عمل تريجر يمنع دخول المستخدمين من برامج معينة مثل التود مثلا كالاتي CONNECT / AS SYSDBA; CREATE OR REPLACE TRIGGER block_tools_from_prod AFTER LOGON ON DATABASE DECLARE v_prog sys.v_$session.program%TYPE; BEGIN SELECT program INTO v_prog FROM sys.v_$session WHERE audsid = USERENV('SESSIONID') AND audsid != 0 -- Don't Check SYS Connections AND rownum = 1; -- Parallel processes will have the same AUDSID's IF UPPER(v_prog) LIKE '%TOAD%' OR UPPER(v_prog) LIKE '%T.O.A.D%' OR -- Toad UPPER(v_prog) LIKE '%SQLNAV%' OR -- SQL Navigator UPPER(v_prog) LIKE '%PLSQLDEV%' OR -- PLSQL Developer UPPER(v_prog) LIKE '%BUSOBJ%' OR -- Business Objects UPPER(v_prog) LIKE '%EXCEL%' -- MS-Excel plug-in THEN RAISE_APPLICATION_ERROR(-20000, 'Development tools are not allowed on PROD DB!'); END IF; END; / SHOW ERRORS و هناك طريقة أخري عبارة عن عمل هاشنج او انكريبشن للباسورد باضافة حروف معينة للباسورد الخاصة بكل يوزر بحيث ان تكون الباسورد التي يعرفها مختلفة عن الباسورد الحقيقية و عند عملية اللوج اون تضيف هذه الحروف الي الباسورد و بهذه الطريقة لا يمكنه الدخول من اي برنامج اخر علي الداتا بيز الا طبعا اذا عرف هذه الحروف لذلك اذا كان بامكانك تغيير المستخدمين الي مستخدمين في قاعدة البيانات فهي اسهل و افضل كثيرا لك و يمكتنك استخدام طريقة الاخ أسامة و بالنسبة لطريقة الأخ عبدالله ندا فهي تتمثل في فكرة ان المستخدمين عندك لو كانوا ليسوا داتا بيز يوزرز فكلهم يدخل بنفس اليوزر و لكن ككل منهم سيشن مختلفة بسيريال مختلف و يمكنك عمل جدول تسجل به اسم اليوزر و رقم السيشن التي دخل بها ثم تتخدم الkill session لعمل انهاء لاتصال المستخدم بالبرنامج بس عايز رايي مستخدمي قاعدة البيانات افضل كثيرا و اعتقد انه يمكنك حل المشكلة التي واجهتك الان بالتوفيق تم تعديل 4 ديسمبر 200619 سنة بواسطة hanon_OCP تقديم بلاغ
بتاريخ: 5 ديسمبر 200619 سنة comment_85957 الاخ الكريم " الجنتل "من سؤالك فهمت انك تريد عمل طرد للمستخدم بمجرد ضغط check box من قبل المديرالحلول السابقة كلها اكثر من رائعة وبرأيي اليوزر من الداتا بيز افضل واسهل في عملية التحكم اما بالنسبة انو تستخدم تايمر لانو اليوزر على الفورمز مش ضروري فيك تعمل تريجر على insert وupdate وdelete ولما يحاول وحدة من العمليات هاي يستدعي التريجر ويشيك هل هو مطرود ولا لأ واذا مطرود نعملو أمر exit_formانا عملت شيء قريب من فكرة التايمر على شاشة ايميلات داخلية على الداتابيز كل ما وصلت رسالة جديدة تظهر اليرت تحكيلو في رسالة جديدة بس بصراحة بتاخد لود عالشاشات تقديم بلاغ
بتاريخ: 10 ديسمبر 200619 سنة كاتب الموضوع comment_86043 السلام عليكماخص بشكري الجزيل للاخ hanon و الاخ almare على الافكار الرهيبةوكذلك جميع الذين ساهموا وبالاخص عبد الله ندى الذي اعطاني الفكرة الرئيسة للحل .وبالفعل فقد نجحت الطريقة وبفاعلية كبيرة سواء على قاعدة بيانات او ابليكاشنوانشاء الله اول ماحصل وقت بنزلها مع الشرحلكي يستفيد منها الاخوة جميعاوعندي موضوع اود مشاركتكم معاي ومساهماتكم الجميلة والفعالةوهو عن كيفية قراءة السيريل نمبر حق الهارد ديسك عند الدخول من قبل المستخدم سواءداتا بيز او ابليكاشن يوزر ..... ارجو مساهمتكم ,ولكم خالص التحية والتقدير .....اخوكم الجنتل . تقديم بلاغ
بتاريخ: 10 ديسمبر 200619 سنة كاتب الموضوع comment_86044 السلام عليكماخص بشكري الجزيل للاخ hanon و الاخ almare على الافكار الرهيبةوكذلك جميع الذين ساهموا وبالاخص عبد الله ندى الذي اعطاني الفكرة الرئيسة للحل .وبالفعل فقد نجحت الطريقة وبفاعلية كبيرة سواء على قاعدة بيانات او ابليكاشنوانشاء الله اول ماحصل وقت بنزلها مع الشرحلكي يستفيد منها الاخوة جميعاوعندي موضوع اود مشاركتكم معاي ومساهماتكم الجميلة والفعالةوهو عن كيفية قراءة السيريل نمبر حق الهارد ديسك عند الدخول من قبل المستخدم سواءداتا بيز او ابليكاشن يوزر ..... ارجو مساهمتكم ,ولكم خالص التحية والتقدير .....اخوكم الجنتل . تقديم بلاغ
بتاريخ: 15 أبريل 20214 سنة comment_301556 يا جماعه عندي تقريبا نفس المشكله مطلوب مني ع شاشة ال ادمن يقدر يعرف كم عدد ساعات عمل كل موظف متى دخل متى خرج وايضا كمية المبيعات الافرج والارباح كيف يتم ذلك تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.