PDA

View Full Version : سوال: جلوگيري از insert , update همزمان



araelectronic@ymail.com
دوشنبه 04 آذر 1387, 10:23 صبح
با سلام خدمت اساتيد محترم

در يك برنامه تحت شبكه كه چند كامپيوتر همزمان به يك پايگاه داده وصل مي شوند چگونه مي توان از همزماني عمليات insert يا update يك ركورد جلو گيري كرد؟

با تشكر

Hamid.Kad
دوشنبه 04 آذر 1387, 13:49 عصر
شما مي تونيد از Lock ها استفاده كنيد. انواع Lock هايي مثل XLock,TabLock و ... رو توي Help DBMS جستجو كنيد.

hassanf
سه شنبه 05 آذر 1387, 06:36 صبح
برای جلوگیری از Upadate همزمان از concurrency استفاده کنید.

Hamid.Kad
سه شنبه 05 آذر 1387, 11:20 صبح
میشه منظورتون رو از concurrency بیشتر توضیح بدید؟ ممنون میشم

hassanf
سه شنبه 05 آذر 1387, 11:30 صبح
concurrency : دسترسی همزمان کاربران به منابع مشترک .
با دو روش زیر پیاده سازی می شود :
1. uptimistic concorency : با استفاده از فیلد TimeStamp
2.Pessimistic concorency : با استفاده از App lock (در حالت Dessconected امکان پذیر نیست)

mehdi.mousavi
سه شنبه 05 آذر 1387, 12:18 عصر
میشه منظورتون رو از concurrency بیشتر توضیح بدید؟ ممنون میشم

سلام.
شما کنترل دسترسی به Data رو میتونید در لایه های مختلف سیستم نرم افزاریتون اعمال کنید. پاسخی که hassanf دادن، تنها گوشه بسیار کوچکی از روشهای موجود هست، که ایشون به سلیقه خودشون روش Optimistic رو در TimeStamp خلاصه کردن در صورتیکه روشهای متعدد دیگه ای نیز وجود داره. برای آشنایی با این روشها، خوندن این مقاله (http://davidhayden.com/blog/dave/archive/2005/10/05/2503.aspx) رو بهتون توصیه میکنم.