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

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

  1. #1

    راهکار برای برنامه جهت همگام سازی دو database

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

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

    نقل قول: راهکار برای برنامه

    میتونید برنامه ای بنویسید web baseترجیحا و در کامپیوتر لوکال قابل اجرا باشد
    و توسط IP Static از ظریق وب به دیتابیس یا این نرم افزار در کامپیوتر لوکال دسترسی داشت

  3. #3

    نقل قول: راهکار برای برنامه

    سلام دوست عزیز ممنونم از نظرتون ولی میخوام امکان ثبت اطلاعات به صورت آفلاینم وجود داشته باشه و کاربر در جایی که به اینترنت دسترسی داره بتونه اطلاعاتو انتقال بده و به سرور ارسال کنه

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

    نقل قول: راهکار برای برنامه

    من جوابتون در پست قبلی دادم
    کامپیوتر لوکال شما میشه سرور شما و از طریق آی پی استاتیک به اون دسترسی دارید
    همچنین میتونید یک نسخه تحت وب برنامتون که در یک هاستینگ مستقر شده به منابع این سرور منجمله دیتابیس دسترسی داشته باشد

  5. #5
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    چند قدم اون ور تر
    پست
    1,617

    نقل قول: راهکار برای برنامه

    سلام
    اگر برداشت من صحیح باشه در پروژه شما ارتباط با سرور به صورت دائمی نیست و مقطعی هست. در اینجا چالش اصلی همگام سازی اطلاعات هست. اگر مثلاً برنامه حسابداری باشه ما چند دسته اطلاعات داریم.
    1-اطلاعات اصلی و پیکربندی حسابها که بین همه شعبه ها یکسان هست.
    2-اطلاعات خاص هر شعبه مثل مشتریان و بازاریابها و فروشنده ها
    3-اطلاعاتی مثل دریافتها و پرداخت ها و خرید و فروش ها و ...

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

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

  6. #6

    نقل قول: راهکار برای برنامه

    با سلام
    دقیقا شما درست متوجه شدین بزرگترین مشکل من همگام سازی اطلاعاته
    ممنون میشم دوستانی که تجربه دارن یک روش اصولی و بهینه برای این کار معرفی کنن یا اگه اس کیو ال سرور ابزاری برای این کار داره بفرمایید
    با تشکر

  7. #7

    نقل قول: راهکار برای برنامه

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

  8. #8

  9.  

  10. #9

    نقل قول: راهکار برای برنامه

    با سلام
    ممنون از پاسختون
    این چه ابزاریه بیشتر میتونید توضیح بدید؟
    من با replication چک کردم شدنی بود به نظرتون اشکالی در آینده پیش نمیاد برای استفاده از replication?

  11. #10
    کاربر دائمی آواتار sds1920
    تاریخ عضویت
    تیر 1388
    محل زندگی
    اصفهان
    سن
    29
    پست
    480

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

    من قبلا کاری شبیه به این که شما میگید رو انجام دادم البته در اون حالت برای من امکان Replication نبود.
    شما اول از همه باید یک فیلد به هر جدول اضافه کنید که وضعیت Sync بودن یا نبودن رکورد رو با سرور روی شبکه مسخص میکنه. وضعیت هر رکورد میتونه Added,Modified,Deleted,Unchanged باشه و این مقادیر از طریق برنامه کنترل میشه.
    بعد از این نیاز دارید به یک برنامه یا سرویس که دائم ارتباط با سرور رو بررسی کنه و هر زمان که ارتباط برقرار شد شروع به Sync کردن رکورد ها بکنه. این کار رو باید جدول به جدول انجام بده.
    سمت سرور شبکه هم میتونید از یک وب سرویس بهره بگیرید که نیازی به کانکشن مستقیم به دیتابیس نداشته باشید.
    موفق باشید.

  12. #11

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

    نقل قول نوشته شده توسط sds1920 مشاهده تاپیک
    من قبلا کاری شبیه به این که شما میگید رو انجام دادم البته در اون حالت برای من امکان Replication نبود.
    شما اول از همه باید یک فیلد به هر جدول اضافه کنید که وضعیت Sync بودن یا نبودن رکورد رو با سرور روی شبکه مسخص میکنه. وضعیت هر رکورد میتونه Added,Modified,Deleted,Unchanged باشه و این مقادیر از طریق برنامه کنترل میشه.
    بعد از این نیاز دارید به یک برنامه یا سرویس که دائم ارتباط با سرور رو بررسی کنه و هر زمان که ارتباط برقرار شد شروع به Sync کردن رکورد ها بکنه. این کار رو باید جدول به جدول انجام بده.
    سمت سرور شبکه هم میتونید از یک وب سرویس بهره بگیرید که نیازی به کانکشن مستقیم به دیتابیس نداشته باشید.
    موفق باشید.
    یک راه هم استفاده از rowversion در دیتابیس لوکال هست. در دیتابیس سرور یک جدول میخواهیم با آخرین rowversion سینک شده برای هر دیتابیس لوکال. در زمان برقراری ارتباط، در دیتابیس لوکال سطرهایی که rowversion بزرگتری از مقدار ذخیره شده در سرور دارند بایست sync بشوند.

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

  1. همگام سازی دو دیتابیس local
    نوشته شده توسط Hossis در بخش Replication
    پاسخ: 10
    آخرین پست: دوشنبه 18 اسفند 1393, 19:51 عصر
  2. چگونگی همگام سازی دو دیتابیس مشابه
    نوشته شده توسط programerinfonet در بخش C#‎‎
    پاسخ: 9
    آخرین پست: چهارشنبه 21 اسفند 1392, 16:00 عصر
  3. همگام سازی دو دیتابیس
    نوشته شده توسط saeed zarei در بخش مدیریت دیتابیس (Database Administration)
    پاسخ: 1
    آخرین پست: شنبه 21 اردیبهشت 1392, 08:41 صبح
  4. سوال: همگام سازی دو لیست باکس
    نوشته شده توسط MS.Worm در بخش C#‎‎
    پاسخ: 1
    آخرین پست: دوشنبه 29 اسفند 1390, 13:44 عصر
  5. همگام سازی ...دو فرم
    نوشته شده توسط Ali_Fallah در بخش Access
    پاسخ: 3
    آخرین پست: جمعه 18 مرداد 1387, 23:38 عصر

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

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