p_ooya
یک شنبه 28 تیر 1388, 09:48 صبح
سلام به همه. سوالی برای من پیش اومده :
فرض کنید که من دارم تو یه برنامه که بانکش لوکال نیست، برای insert کردن رکوردها (یا هر عمل دیگه ای) از transaction استفاده می کنم. مثلاً:
anyConnection.startTransaction;
try
//inserting records
.
.
.
anyConnection.commit;
except
anyConnection.Rollback;
end;
سوال اینجاست که فرض کنید وقتی که بخشی از کار برنامه با بانک تموم شده و پیش از ارسال commit، به هر دلیلی (قطع برق، اختلال در شبکه و...)ارتباط برنامه با بانک راه دور (remote) قطع میشه. خب در اینصورت برنامه rollback رو هم نمی تونه بفرسته دیگه. در این شرایط چه اتفاقی میفته؟ اگر بانک، خودش بعد از مدتی به صورت خودکار rollback می کنه، چه شرایطی باید احراز بشه تا بانک اینکار رو بکنه؟
سپاس.
پویا.
فرض کنید که من دارم تو یه برنامه که بانکش لوکال نیست، برای insert کردن رکوردها (یا هر عمل دیگه ای) از transaction استفاده می کنم. مثلاً:
anyConnection.startTransaction;
try
//inserting records
.
.
.
anyConnection.commit;
except
anyConnection.Rollback;
end;
سوال اینجاست که فرض کنید وقتی که بخشی از کار برنامه با بانک تموم شده و پیش از ارسال commit، به هر دلیلی (قطع برق، اختلال در شبکه و...)ارتباط برنامه با بانک راه دور (remote) قطع میشه. خب در اینصورت برنامه rollback رو هم نمی تونه بفرسته دیگه. در این شرایط چه اتفاقی میفته؟ اگر بانک، خودش بعد از مدتی به صورت خودکار rollback می کنه، چه شرایطی باید احراز بشه تا بانک اینکار رو بکنه؟
سپاس.
پویا.