ورود

View Full Version : سوالی در ارتباط با Transaction



p_ooya
یک شنبه 28 تیر 1388, 09:48 صبح
سلام به همه. سوالی برای من پیش اومده :
فرض کنید که من دارم تو یه برنامه که بانکش لوکال نیست، برای insert کردن رکوردها (یا هر عمل دیگه ای) از transaction استفاده می کنم. مثلاً:

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

سپاس.
پویا.

vcldeveloper
یک شنبه 28 تیر 1388, 11:44 صبح
بستگی به بانک اطلاعاتی داره که ازش استفاده می کنید. این را باید در تالار مربوط به همان بانک اطلاعاتی مطرح کنید، که در صورت Commit نشدن یک Transaction در یک بازه زمانی معین، آن بانک چه رفتاری از خودش نشان میده.