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

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




نمايش نتايج 1 به 4 از 4

نام تاپيک: استفاده مشترک دو کامپیوتر از دیتابیسی که روی یکی از دستگاه هاست

  1. #1
    آخر فروم باز shahinfarasystem's Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    تهران
    پست ها
    1,617

    پيش فرض استفاده مشترک دو کامپیوتر از دیتابیسی که روی یکی از دستگاه هاست

    سلام
    من دو تا کامپیوتر دارم می خوام روی یکی شون یه دیتابیس بگذارم

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

    میشه راهنمایی کنید توی برنامنم یا توی بانکم باید چه تنظیماتی انجام بدم؟

    ممنونم

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

    پيش فرض

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

    در خصوص برنامه هایتان که تقریباً کار خاصی لازم نیست!
    فقط کافی است،
    1-برنامه را طوری نوشته باشد که کارکرد همزمان چند کاربر روی دیتابیس تداخلی پیش نیاورد.
    2- جایی و قابلیتی و تنظیمی در برنامه داشته باشید که کاربر بتواند پارامترهای ConnectionString را تنظیم کند.
    (
    مثالی از ویرایش و ذخیره ConnectionString در برنامه:
    support.h02.ir/fwlink/?LinkId=1001372507
    )

    =====

    در خصوص دیتابیس و سرور SQL Server هم ...
    1-بهتر است از نسخه های غیر EXPRESS استفاده و نصب کنید.
    2-دیتابیس را به SQLServer اتچ کنید.
    3-درسرور و برای دیتابیس یک Login و User و Pass بسازید و مجوزهای لازم برای دسترسی به دیتابیس مورد نظر صادر کنید.
    (
    برای اطلاعات کاملتر به تاپیک های زیر مراجعه کنید:
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    )

    موفق باشید.

  3. #3
    آخر فروم باز shahinfarasystem's Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    تهران
    پست ها
    1,617

    پيش فرض

    سلام

    1-برنامه را طوری نوشته باشد که کارکرد همزمان چند کاربر روی دیتابیس تداخلی پیش نیاورد.
    میشه در مورد این یه توضیح بفرمایید که چجوری باید این کار رو بکنم؟

    بازم ممنون

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

    پيش فرض

    سلام
    میشه در مورد این یه توضیح بفرمایید که چجوری باید این کار رو بکنم؟
    قبلاً در این مورد در تاپیک زیر بحث هایی شده:
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]

    و یا نکته ای کوچک در این پست:
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]

    در کل و در اغلب موارد، داشتن یک PrimaryKey از نوع AutoNumber که همیشه یکتا باشد و غیر قابل تغییر و تکرار باشد و هیچگاه، حتی بعد از حذف هم امکان تکرار نداشته باشد، خیلی کمک میکند و اغلب مشکلات را حل میکند.
    لزومی هم ندارد که کاربر برنامه از وجود همچین فیلدی و از مقدار ان مطلع باشد!

    مثلاً اگر جدولی پرسنلی دارید که اطلاعات کارکنان را نگاه میدارد، شما فیلد PrimaryKey-Autonumber تعبیه میکند و در تمام Relation ها از ان استفاده میکنید و همه اعمال داخلی برنامه مثل شرط WHERE در SQL-DELETE یا SQL-WHERE با این فیلد انجام میشود.

    سپس میتوانید در کنار این فیلد و مثل فیلدهای عادی نام و نام خانوادگی و شماره شناسنامه و... فیلدی برای کدپرسنلی شرکتی فرد هم داشته باشد، که همه جا هم نشان داده شود و اپراتور رایانه هم بتواند، به سادگی آن را ویرایش کند و برنامه شما هم همه جا ان را نشان دهد ولی این PrimaryKey نباشد.

    مجدد تکرار میکنم که داشتن فیلد Primarykey-AutoNumber به علت یکتا و در حالت معمول غیر قابل ویرایش بودن و عدمم تکرار حتی بعد از حذف، میتواند خیلی از مشکلات دسترسی همزمان به منابع را که Primarykey شناسایی و تاییک میشوند بر طرف کند.
    (
    این تضمین را میدهد که بعد از ان که کلاینی یک سطر اطلاعات را نشان داد، هر چقدر زمان هم که سپری شود. از کلاینت دیگر PrimaryKey ان تغییر نمیکند و اطلاعات ان کلاینت همواره به سطر صحیح اشاره میکند.
    همان سطری که نشان داده میشود حتماً همان سطری است که عملی روی آن انجام میشود.
    )

    =====

    مثال ساده ای از خطای همزمان در شبکه:
    مثلاً اگر به اشتباه Primarykey غیر autonumber و همان کدپرسنلی سازمانی باشد.

    اپراتوری چند نفر را جدید ثبت میکند...

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

    شما فرم را باز میکنید و شروع به ویرایش اطلاعات فردی با کدپرسنلی 110 میکنید ...

    اپراتور اولیه متوجه اشتباهی در درج کد پرسنلی ها میشود و سریع آنها را جابه جا و تصحیح و ذخیره میکند.

    کار شما هم تمام میشود و دستور ذخیره میدهد...
    ولی برنامه شما میرود و اطلاعات فردی با کد 110 را عوض میکند، درحالیکه شاید به دلیل آخریت تصحیح اپراتور دیگری، از زمانی که شما فرم را بازکرده اید تا ویرایش تمام شده و ذخیره کرده اید، فرد 110 عوض شده!
    و الان تمام آن تغییرات در پرونده رایانه فرد دیسگری که شما قصد نداشتید ثبت میشود!!!

    =====

    از قبیل این مشکلات در کارکرد شبکه ای انلاین و آفلاین+سینک در انواع جداول و انواع مختلف اعمال قابل وقوع است که راه حل بیان شده تغریباً مشکل برنامه های انلاین را به طور کامل مرتفع میکند.

    موفق باشید.

  5. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


Thread Information

Users Browsing this Thread

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

User Tag List

برچسب های این موضوع

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

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