PDA

View Full Version : مسئله همزمانی در sql server



صنم
سه شنبه 25 تیر 1387, 10:41 صبح
سلام
من می خوام یک بانک اطلاعاتی تحت وب با استفاده از asp.net و sql server 2005 کار کنم .مشکل من در مورد مسئله همزمانی در دیتا بیس می باشد که به طور مثال دو تا کاربر نتوانند با هم یک رکورد را ویرایش کنند و مسائل مشابه همزمانی .
نمی دونم این مشکل چه جوری با sql server 2005 یا با کد نویسی در asp.net حل میشه ؟

s.mostafa.rahmani
سه شنبه 25 تیر 1387, 11:21 صبح
اگه كار ويرايش و درج ركورد رو با Stored procedure انجام بديد مشكلتون حل مي‌شه.

رضا عربلو
سه شنبه 25 تیر 1387, 17:39 عصر
سناریوهای مختلفی برای بررسی مسئله همزمانی وجود دارد. برای مثال :
1 - اگر همزمانی بسیار رخ می دهد. در ADO می توانید از Psimestic استفاده کنید.
2 - اگر همزمانی کم رخ می دهد. در ADO می توانید از Optimestic استفاده کنید.
3 - یکی از سنتی ترین روشها استفاده از فیلد Timestamp است. بطوریکه قبل از ویرایش و حذف مقدار آن با مقدار Originalی که قبلاً هنگام استخراج رکورد بدست آورده اید مقایسه کنید و ...
4 - روشهای دیگری که ممکن است با توجه به سلیقه شما انتخاب شود. مثلاً آخرین نفری که رکوردی را ویرایش می کند اصلاً این موضوع را که آیا قبلً این رکورد تغییر یافته است را در نظر نگیرد و فقط با توجه به Primery key رکورد مورد نظر را پیدا کرده و آنرا تغییر دهد (نام انگلیسی این روش را فراموش کردم ولی ترجمه فارسی اش "آخرین نفر پیروز است" بود)