نمایش نتایج 1 تا 5 از 5

نام تاپیک: جلوگیری از همزمانی در database

  1. #1
    کاربر دائمی آواتار jafar2012
    تاریخ عضویت
    آذر 1390
    محل زندگی
    ایران *****
    پست
    126

    جلوگیری از همزمانی در database

    سلام
    پایگاه داده روی سرور فعال کردم
    و تمامی کلاینت ها میتونن بهش وصل بشن
    فقط مشکلی هست یکی در اون لحظه داره یک رکورد جدید ثبت میکنه
    یکی هم داره تمام رکوردهای جدول رو میخونه
    یا یکی در حال ویرایش و این قبیل حالات!

    یکجا گفته شده بود پایگاه داده firebird این قابلیت رو داره و نیاز ب کاری نیست اونم بخاطر ویژگی isolation

    و درمورد لاک جداول خوندم و یکسری راه کار های بر اساس این

    ولی میخام بهترین کار رو انجام بدم و نیازمند راهنمایی شما دوستان هستم

    پایگاه داده mysql زبانم ک C#‎

  2. #2

    نقل قول: جلوگیری از همزمانی کویرهای پایگاه داده

    در مورد ترانزکشن داخل شی شارپ تحقیق کن

  3. #3
    کاربر دائمی آواتار ali_md110
    تاریخ عضویت
    فروردین 1385
    محل زندگی
    شیراز
    پست
    1,181

    نقل قول: جلوگیری از همزمانی کویرهای پایگاه داده

    سلام
    در مورد Rowversion و مباحث همزمانی تحقیق کنید
    خلاصش رو میگم
    در اسکیول سرور در هر جدول بانک فبلدی با نوع rowversion تعریف می کنیم که قبلا از نوع timestamp بود
    وظیفه این فیلد اینه یکی قفل کردن هر رکورد و دیگری وارد صف کردن رکورد برای پردازشهای بعدی

    این فیلد قابل ویرایش توسط کاربر نیست و نباید به اون دست زد ویرایش و اضافه نباید کرد
    موتور اسکیول سرور اتوماتیک اونو اپدیت میکنه

    این یک فیلد باینری هست که به ازای هر ویرایش رکورد یک عدد به اون اتوماتیک اضافه میشه
    مثلا اگر یک کاربر داره رکوردی رو ویرایش میکنه در همون لحظه این فیلد اپدیت میشه
    و تا زمانی که این عدد تغییر نکرده و اسکیول سرور پایان ویرایش اونو تایید نکرده کاربر دیگه ای نمیتونه اونو ویرایش کنه یا حذف

    امیدوارم مطلب رسونده باشم

  4. #4
    کاربر دائمی آواتار jafar2012
    تاریخ عضویت
    آذر 1390
    محل زندگی
    ایران *****
    پست
    126

    نقل قول: جلوگیری از همزمانی در پایگاه داده

    سلام
    ممنون از پاسخ هاتون
    سه تا مورد مختلف دیدم

    استفاده از فیلد timestamp
    استفاده از transactionscope در C#‎
    یکی هم میگفت استفاده از transaction داخل کوعری ها

    این ها رو هم دیدم

    http://www.w3resource.com/mysql/mysql-transaction.php
    https://msdn.microsoft.com/en-us/lib...v=vs.110).aspx
    http://stackoverflow.com/questions/1...ansactionscope
    https://forums.asp.net/t/1239791.asp...ly+with+MySql+

    اما واقعا موندم چطور ازشون استفاده کنم و اصلا دقیقا همون کاری که میخام انجام میدن
    ببینید:
    فرضا یک جدول داریم که شامل آی دی کالا - نام کالا - قیمت هست
    حالا:
    20 تا کلاینت مستقیم کوعری میزنن به سرور mysql
    1) در برنامه هم تمام کلاینت ها تمام رکورد های جدول رو میگیرند نه ب صورت تک تک یا انتخابی
    2) یک کاربر داره یک رکورد ویرایش میکنه - یکی ثبت میکنه - یکی حذف و این کار رو ب صورت مداوم در طی روز انجام میشه

    لطفا راهنمایی کنید کدوم روش مطمن تر و دقیق تر || و برای این کار مناسب تر هست

  5. #5

    نقل قول: جلوگیری از همزمانی در پایگاه داده

    دوست عزیز استفاده از TimeStamp رو شخصا توصیه میکنم بهتون!
    وقتی بحث تراکنش میشه یعنی اینکه یک مجموعه اعمال و فرامین یا باید بصورت کامل اجرا بشن یا اگر مثلا تا نصف رفت و یکی از فرامین با شکست مواجه شد بقیه قبلی ها هم بر میگردن به حالت قبلشون که رل بک میگیم بهش!

    حالا برای مثال شما که دو کاربر در آن واحد نتونن یه رکورد رو ویرایش کنن تنها راهش استفاده از تایم استامپ هست! البته روشهای دیگه ای ام هست که بصورت دستی کنترلشون کنی که خب تایم استامپ بهینه شده است.

تاپیک های مشابه

  1. جلوگیری از همزمانی داده ها در پایگاه داده به وسیله LINQ
    نوشته شده توسط mohammad2407 در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 1
    آخرین پست: پنج شنبه 19 دی 1392, 11:27 صبح
  2. جلوگیری از همزمانی در پایگاه داده
    نوشته شده توسط b.mahsa در بخش SQL Server
    پاسخ: 5
    آخرین پست: چهارشنبه 13 مرداد 1389, 23:47 عصر
  3. جلوگیری از تکرار در SQL
    نوشته شده توسط Pichidehtarin در بخش برنامه نویسی در Delphi
    پاسخ: 6
    آخرین پست: پنج شنبه 26 شهریور 1383, 12:35 عصر
  4. جلوگیری از تکرار در ComboBox
    نوشته شده توسط Pichidehtarin در بخش برنامه نویسی در Delphi
    پاسخ: 2
    آخرین پست: پنج شنبه 26 شهریور 1383, 09:52 صبح
  5. جلوگیری از Import کردن DataBase
    نوشته شده توسط gh_fereydonpoor در بخش SQL Server
    پاسخ: 1
    آخرین پست: دوشنبه 07 اردیبهشت 1383, 14:47 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •