deadlock
#1
بواسطة الدلفي7 وانتربيز 2007 الى ماذا يشير الخطاء deadlock والمشكلة انه يظهر احيانا ولايظهر احيانا اخرى في ظل نفس الظروف التى يمكن ملاحظتها
الرد
#2
معمر محسن كتب :بواسطة الدلفي7 وانتربيز 2007 الى ماذا يشير الخطاء deadlock والمشكلة انه يظهر احيانا ولايظهر احيانا اخرى في ظل نفس الظروف التى يمكن ملاحظتها

ما هذا هل هي حزورة :confused:
وضح اكثر لو سمحت ..
الرد
#3
للتوضيح
عند تنفيذ عملية ما واذكر انها كانت ارسال بيانات فاتورة مبيعات الى الجداول وقاعدة البيانات هي انتربيز2007 وهذه العملية ليست اول مرة تنفذ ظهر رسالة خطا تقول deadkock فقط هذه الكلمة ولم ترسل البيانات بل توقف البرنامج عن الاستجابة حتى تم اغلاق البرنامج عن طريق التاسك مانجر "انهاء المهمة" وعند تنفيذ العملية من جديد لم تظهر الرسالة علما باني اعمل من خلال برنامج الدلفي وليس من خلال برنامج تنفيذي مستقل ولقد ظهرت لي هذه الرسالة سابقا ولا اذكر الظروف التى ظهرت فيها
الرد
#4

قمت بعملبة على سجل او اكثر ولم تنهها وتحاول القيام بعملية اخرى بنفس الوقت
عليك ان تنهي transactions قبل الشروع في اخرى
اكتب شيئ مثل
كود :
Database1.StartTransaction; Database1.Commit;
والسلام عليكم
الرد
#5
لا اعرف هل في الحالة التى ظهرت فيها الرسالة استعملت transaction ام لا لاني استعملها في اوامر ولا استعملها في اوامر اخرى فانا استعملها فقط عندما تكون هناك عدة عمليات على عدة جداول وتنفيذها كلها او عدم تنفيذها كلها اي ان لا يتم تنفيذ جزء منها مثل اجراء شئ على الجدول الاول وتفشل الاجراءات على الجدول الثاني وهذا كل ما اعلمه عن استعمال transaction وايضا انا استعملها بالطريقة التالية
ibtransaction1.Active := false;
ibtransaction1.StartTransaction;
xxxxxx
xxxxx
ibtransaction1.CommitRetaining;
وفي العادة تكون الاجراءات التى استعمل transaction فيها تستخدم transaction اخرى عير default transaction ولكني ساستخدم transaction في كل التعليمات على الجداول مادامت مطلوبة
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم