تبلیغات :
خرید لپ تاپ استوک
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 2 از 2 اولاول 12
نمايش نتايج 11 به 17 از 17

نام تاپيک: مشکل در تنظیمات شبکه برای اتصال چند سیستم با SQLEXPRESS

  1. #11
    اگه نباشه جاش خالی می مونه MTPROG's Avatar
    تاريخ عضويت
    Sep 2007
    محل سكونت
    شهر 3500 ساله
    پست ها
    432

    پيش فرض

    - یا SP های شما در sqlserver با تغییر سطری از یک جدول یک سطر خاص در جدول دیگری را با تاریخ-زمان آن لحظه ست کنند...
    تا کلاینتها با چک کردن این عدد با آخرین مقدار در زمان SELECT خودشان بفهمند که نیاز به هزینه پردازشی و ترافیکی شبکه به یک SELECT دارند یا خیر
    (البته میتوانید به جای تاریخ-زمان از فیلدهای timestamp هم استفاده کنید)

    موفق باشید.
    میشه درباره این موضوعش یکم بیشتد توضیح بدید و بگید که چگونه باید اونو تا بانک پیاده سازی کرد

  2. #12
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    نوع timestamp در SQLServer یک عدد 64 بیتی است (معادل long و ulong در دات نت)
    این فیلد را شما نمیتوانید و نباید تغییر و ویرایش دهید!
    مقدار این فیلد خودکار توسط SQLServer پرخواهد شد.
    این مقدار یک عدد یکتا و منحصر به فرد است که با هر ویرایش سطر تغییر خواهد کرد.

    نتیجتاً در برنامه های شبکه ای گسترده و بزرگ با ترافیک زیاد و با حساب عدم تغییر primarykey ...
    کلاینتها میتوانند در صورت نیاز و قبل از اعمال دیگر و یا در داخل خود دستورات T-SQL مقدار این فیلد را با آخرین مقداری که خودشان داشتند چک کنند و به این نتیجه قطعی برسند که آیا از اخرین دفعه تغییر و ویرایش شده یا خیر؟

    =====

    ولی چیزی که من پیشنهاد کردم، ساده تر بود!
    یعنی یک چیز تو مایه های یک timestamp برای کل هر جدول!

  3. #13
    اگه نباشه جاش خالی می مونه MTPROG's Avatar
    تاريخ عضويت
    Sep 2007
    محل سكونت
    شهر 3500 ساله
    پست ها
    432

    پيش فرض

    چطور میشه timestamp ا چک کرد کجا قرار گرفته؟
    اگر هم پیدا کردم به فرض مثال شماره id من 20 است باید چطور ID رو با timestamp مقایسه کنم؟
    اگه میشه یه مثال بزنید

  4. #14
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    متاسفانه من متوجه مفهوم سوالات شما نشدم!
    نتیجتاً سعی میکنم یکم دیگر توضیح بدهم...

    فیلد timestamp یک نوع فیلد عددی است، مثل smallint و int و البته بیشتر bigint.
    این فیلد از جهاتی هم شبیه autonumber ها است، به این معنی که شما نمیتوانید آن را در insert و update مقداردهی یا تغییر دهید.

    این فیلد با هر تغییر سطر، مقدار جدید و متمایزی و غیر تکراری میگیرد.

    فقط و فقط به عنوان یک مثال ساده برای متوجه شدن مطلب به نمونه زیر دقت کنید:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    موفق باشید.

  5. #15
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    البته شاید بهتر بود مثال زیر را میزدم!
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

  6. #16
    در آغاز فعالیت
    تاريخ عضويت
    Nov 2012
    پست ها
    1

    پيش فرض

    سلام

    بنده هم می خوام وقتی کاربری در حال ویرایش سطری است کاربران دیگر نتوانند ان رکورد را ویرایش کنند؟؟؟
    لطفا را هنمایی کنید.
    Last edited by stringf; 27-11-2012 at 09:28.

  7. #17
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    وقتی کاربری در حال ویرایش سطری است کاربران دیگر نتوانند ان رکورد را ویرایش کنند؟
    اگر واقعاً بخواهید انجام دهید کل فرآیند ان را باید خودتان انجام دهید، مثلاً فیلدی عددی در جدول تان اضافه کنید که مشخص کند سطر جاری توسط کاربر خاصی قفل شده است و تا وقتی صفر نشده برنامه شما اجازه دسترسی به آن را به دیگران ندهد.

    ولی اگر اصول شبکه را صحیح رعایت کنید نیازی به انجام این موارد نیست...
    این کار مشکلات منطقی و پیاده سازی خاص خود را دارد، از جمله کاربر میتواند فرم ویرایش را باز کند و برود با تلفن صحبت کند یا صبحانه بخورد (!!!) آنگاه چه میشود؟ این را در سطح یک شبکه بزرگ گسترش دهید... این کار بازدهی شبکه را بشدت کاهش میدهد.

    (((
    البته لازم بذکر است که SQLServer خودش مکانیزم های قفل خاصی روی سطرهای دارد که شاید شما اصلاً متوجه آن نشوید و... دوستان که با اصول چند ریسمانی آشنا هستند خیلی خوب متوجه میشوند که کارکرد صحیح دستوری مثل update [table] set [field]=[field]+1 در یک شبکه پرتراکنش ناشی از همین مکانیزم های فوق العاده کوتاه و سریع قفل داخل SQLServer است و...
    )))

صفحه 2 از 2 اولاول 12

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •