بتاريخ: 31 يناير 201214 سنة comment_220208 الاخوة فى المنتدى السلام عليكمانا عندى مشكلة وهى عملية lock record وتظهر لى الرسالة could not reserve record (2 tries) keep trying ?انا حاليا اعمل حل للمشكلة باعادة تشغيل السيرفر وارجو اعطائى طريقة اخرى لتحرير السجل record من دون اعادة تشغيل السيرفرجزاكم الله خيرمحمد على مدنى -الخرطوم السودان تقديم بلاغ
بتاريخ: 31 يناير 201214 سنة comment_220215 السلام عليكمجرب استخدام الخاصية التالية:على مستوى البلوك يوجد خاصية Locking Mode خليها Delayed. تقديم بلاغ
بتاريخ: 31 يناير 201214 سنة كاتب الموضوع comment_220221 مشكور الاخ ahmad hasa مشكووووووووووور على الرد لو تقصد المعالجة على مشتوى الفورم انا بشتغل فى مؤسسة حكومية وما ينفع اعدل الفورم حسب علمى هناك طريقة للمعالجة على مستوى الداتابيز ارجو توضيح الطريقةوجزاكم الله خيرا تقديم بلاغ
بتاريخ: 31 يناير 201214 سنة comment_220227 السلام عليكمهل جربت ان تقوم بعملية ايقاف لخدمات الاوراكل واعادة تشغيلها مرة اخرةمعكم ولكم نتواصل تقديم بلاغ
بتاريخ: 31 يناير 201214 سنة كاتب الموضوع comment_220234 الاخ احمد مشكور على الاهتمامبس انا اعتقد ان هناك امر يكتبه ال dba يقوم بتحرير السجل المغلقhow to release record when locked تقديم بلاغ
بتاريخ: 1 فبراير 201214 سنة comment_220247 نفذ هذه الجملة أولا: select sid,serial# from v$session where sid in ( select a.SESSION_ID from v$locked_object a, dba_objects b where a.object_id = b.object_id and a.SESSION_ID not in (select a.SESSION_ID from v$locked_object a, dba_objects b where a.object_id = b.object_id and session_id in (select sid from v$lock where block = 1))) ومن ثم نفذ الجملة التالية بحيث تضع الناتج بالجملة الأول كما هو موضح : alter system kill session 'sid,serial# ' immediate; وسيتم تحرير السجل المعلق بقاعدة البيانات.ملاحظة : الناتج من جملة الأولى ممكن أن يكون أكثر من سجل ، مما يعني بأن الجملة الثانية يجبعملها مرة لكل سجل بالجملة الأولى (أي أنه يوجد سجلين معلقين بقاعدة البيانات).مع تمنياتي للجميع بالتوفيق ، تقديم بلاغ
بتاريخ: 1 فبراير 201214 سنة كاتب الموضوع comment_220263 الاخ attili جزااااااااك الله خير جعله الله فى ميزان حسناتك جربت الامر وهو المطلوب بالظبط تقديم بلاغ
بتاريخ: 4 فبراير 201214 سنة comment_220328 السلام عليكممن خلال الحل السابق تقوم بعملية Kill for session.ولكن يمكنك معالجة المشكلة بطريقة أخرى بحيث انه تظهر للمستخدم رسالة تفيد بعدم القدرة على التعديل على السجل لان هناك مستخدم اخر يقوم بعملية التعديل على نفس السجل من خلال التعديل على الفورم المطلوب ان استطعت...من خلال استخدام ترجر On-Lock على مستوى البلوك: Declare Row_Is_Locked Exception; Pragma Exception_Init (Row_Is_Locked,-54); Rubbish Number; Begin Select Deptno Into Rubbish From Dept Where Rowid = :Deptblock.Rowid For Update Of Deptno Nowait; Lock_Record; If Not Form_Success Then Raise Form_Trigger_Failure; End If; Exception When Row_Is_Locked Then Message ('Sorry cant lock record'); Raise Form_Trigger_Failure; When Others Then Message ('Unexpected error'); Raise Form_Trigger_Failure; End; بالتوفيق. تقديم بلاغ
بتاريخ: 19 فبراير 201214 سنة comment_220943 الأخ/ أحمد حسنالسلام عليكم ورحمة الله وبركاتهمن علمي البسيط أن الـ exception الذي يتم تعريفة بواسطة المستخدم لابد من عمل الـ raise له أين هوRow_Is_LockedDeclare Row_Is_Locked Exception; Pragma Exception_Init (Row_Is_Locked,-54); Rubbish Number; Begin Select Deptno Into Rubbish From Dept Where Rowid = :Deptblock.Rowid For Update Of Deptno Nowait; Lock_Record; If Not Form_Success Then Raise Row_Is_Locked ; End If; Exception When Row_Is_Locked Then Message ('Sorry cant lock record'); Raise Form_Trigger_Failure; When Others Then Message ('Unexpected error'); Raise Form_Trigger_Failure; End; تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.