PDA

View Full Version : دسترسی نوبتی به بانک !



itman.jam
یک شنبه 12 بهمن 1393, 18:30 عصر
سلام دوستان . من برنامه ای دارم که هر کاربر روی سیستم خودش نصب و اجرا میکنه و بانک اطلاعاتی مورد استفاده هم در یک سیستم جداگانه ای هست که برنامه کاربران به اون متصل میشه.

مشکلی که دارم اینه که میخوام در هر لحظه فقط یکنفر یا بهتر بگم یکی از برنامه های به دیتا بیس متصل باشه و بتونه تغییرات را در اون انجام بده و درصورتی که کاربر دومی در همان لحظه قصد ویرایش بانک را داشت در نوبت قرار بگیره . برای اینکار من مسیر زیر را در sql رفتم و بانک را طوری تغییر دادم که در یک زمان فقط یک کاربر بتونه بهش متصل باشه .
right click on database --->properties--->option--->- restict access----->Single_User


سوال اینه :
اگه همزمان 2 کاربر دکمه ویرایش و یا خواندن از دیتا بیس را فشار بدن
1- چه اتفاقی میوفته ؟! کسی که دسترسی اش رد میشه آیا با پیغام خطا مواجه میشه ؟؟ (نمیخوام اینطور بشه )
2- میخوام نفر بعدی بصورت اتوماتیک در نوبت باشه و بعد از اجرای دستورا مربوط به کاربر اول , دستورات کاربر دوم اجرا بشه روی بانک . چطور این کار باید انجام بشه ؟

Mousavmousab
یک شنبه 19 بهمن 1393, 19:53 عصر
سلام

هر چقدر هم به نظر شما همزمان باشند بالاخره یه نفر زودتر و یکی دیر تر اتفاق می افته و همزمان نیستند. خود SQL Server این موارد را در یک صف قرار میده و مدیریتش می کنه و اگر 2 نفر یک رکورد را ویرایش کنند آخرین تغییری که اتفاق می افته ثبت میشه.