بتاريخ: 9 يونيو 200718 سنة comment_101816 السلام عليكم ورحمه الله وبركاتهاريد التعرف علي اسم المستخدم الذي يقوم بتشغيل التقرير واود طباعه اسمه علي التقرير ايضا بشرط ان يتم ذلك من داخل التقرير نفسه وايضأ من اجل منع بعض المستخدمين من تشغيل بعض التقارير والتي لا تخص عملهم. تقديم بلاغ
بتاريخ: 9 يونيو 200718 سنة comment_101818 اريد التعرف علي اسم المستخدم الذي يقوم بتشغيل التقرير واود طباعه اسمه علي التقرير يمكن عمل ذلك من خلال الفورم حيث يكون هنالك بارميتر يحمل اسم المستخدم ويرسل للتقرير تقديم بلاغ
بتاريخ: 9 يونيو 200718 سنة كاتب الموضوع comment_101830 اشكرك علي الاهتمام والرد يا اخي ولكني اود عمل ذلك داخل التقرير تحديدا تقديم بلاغ
بتاريخ: 9 يونيو 200718 سنة comment_101833 ممكن توضح ؟؟؟؟ ولكني اود عمل ذلك داخل التقرير تحديدا تقديم بلاغ
بتاريخ: 9 يونيو 200718 سنة كاتب الموضوع comment_101840 يا اخي هذا عمل مطلوب مني وهوان يتم اظهار اسم المستخدم الذي استخرج التقريركما طلب مني ايضا ان يتم حجب عمل التقرير علي عدد من المستخدمين واود ان اضيف كود في التقرير يمنع المستخدمين الغير مسموح لهم بتشغيل التقرير ويفضل عمل جدول يقوم بتسجيل المستخدمين الذين يقومون بطباعه هذا التقرير ووقت طباعته ومن اي جهاز طبعملحوظه هناك تقارير لا يتم تشغيلها من الفورم وحتي لو كانت تعمل من خلال فورم فالمستخدمين علي علم بكيفيه تشغيلها مباشره بدون فورم تقديم بلاغ
بتاريخ: 9 يونيو 200718 سنة comment_101844 شكرا للتوضيح لو كان المطلوب من خلال الفورم (اسم المستخدم ومنع بعض المستخدمين من التشغيل ...) هذا بأذن الله سهللاكن تشغيل التقرير ليس من خلال الفورم ؟؟حاليا لايوجد عندي فكرة عن الجواب ... ولاكن سوف احاول وارد عليك بأذن الله تقديم بلاغ
بتاريخ: 9 يونيو 200718 سنة comment_101846 أخي إذا كان المستخدم هو مسنخدم أوراكل وليس مستخدم من تعريفكفهذا سهل جدا ما عليك إلا عمل هذا الأمر select user from user_users;وإذا كان لديك أناس يدخولون خلف الأبواب فما عليك إلا أن تعمل هذا الزناد (علي مستوي الإتصال بقاعدة البيانات) وهوCREATE TABLE user_audit(sid number null,serial# number null,timestamp date null,username varchar2(30) null,osuserid varchar2(30) null,machinename varchar2(64) null,program varchar2(48) null);CREATE OR REPLACE TRIGGER users_logon_auditAFTER LOGON ON databaseDECLAREmachinename VARCHAR2(64);osuserid VARCHAR2(30);ora_username VARCHAR2(30) DEFAULT NULL;os_username VARCHAR2(30);v_sid NUMBER;v_serial NUMBER;v_program VARCHAR2(48);v_numuser NUMBER;CURSOR c1 IS SELECT sid, serial#, osuser, machine, programFROM v$sessionWHERE audsid = userenv('sessionid');BEGINOPEN c1;INSERT INTO user_auditVALUES (v_sid, v_serial, sysdate,user, osuserid, machinename,v_program)END;/وبذلك ستعرف كل المستخدمين الذي إستخدموا قاعدة البيانات ومن أي جهاز وأي برنامجأي جهازMachinenameأي برنامجProgramمن الجدول أعلاهـوجزاكم الله خيرا تقديم بلاغ
بتاريخ: 11 يونيو 200718 سنة comment_102010 السلام عليكم ورحمة الله وبركاته.بالنسبة لإيقاف بعض المستخدمين من تشغيل التقرير أقترح لك عمل role خاص بالتقرير والتقرير يعني selectcreate role run_app_report;grant select on <tname1> to run_app_report;grant select on <tname2) to run_app_report;grant select on <tname3> to run_app_report;أنشي مستخدم أوراكلcreate user <user_report1>..............grant run_app_report to <user_report1> تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.