PDA

View Full Version : بروز رسانی تغییرات بانک اطلاعاتی اولیه بر روی یک بانک اطلاعاتی دیگر



hadisalahi2
چهارشنبه 05 بهمن 1390, 16:36 عصر
با سلام به همگی دوستان.
من یک برنامه دارم که اساسا به یک بانک اطلاعاتی تحت وب کانکت میشه و اطلاعات رو مستقیم روی سرور هاست ذخیره میکنه.
حالا در صورتی که اینترنت قطع باشه کار برنامه مختل میشه.
من برای حل این مشکل یک بانک اطلاعاتی هم روی سرور محلی قرار دادم که هنگام قطع اینترنت ، اطلاعات اونجا ذخیره بشه.
حالا سوال اینجاست که بعد از ارتباط مجدد با اینترنت و بانک اطلاعاتی اصلی ، چطوری میشه تغییرات بانک اطلاعاتی موقت رو روی بانک اطلاعاتی اصلی اعمال کرد.
آیا روشی هست که بدون چک کردن رکوردها و به صورت هوشمند تغییرات دو بانک اطلاعاتی رو تشخیص بده و اطلاعات اونها رو هماهنگ کنه؟
یا حق

tiphooo
شنبه 08 بهمن 1390, 01:27 صبح
با استفاده از Replication می شه این کار رو کرد در زمینه Replication باید مقالات مربوطه در این زمینه را مطالعه کنی توضیحش فراتر از قالب یک تاپیکه

hadisalahi2
شنبه 08 بهمن 1390, 15:26 عصر
خسته نباشی.
حالا شما مقاله ای ، لینکی یا چیزی مشابه سراغ نداری؟

hadisalahi2
یک شنبه 09 بهمن 1390, 19:27 عصر
در ضمن بانک اطلاعاتی من sql server 2000 هستش

hadisalahi2
دوشنبه 10 بهمن 1390, 10:35 صبح
منتظر نظرات ارزشمند دوستان هستیم.
همچنان

opluse
دوشنبه 10 بهمن 1390, 11:43 صبح
والا اگه من بودم یه فیلد توی بانک اطلاعاتی ایجاد میکردم که بعد از هر تغییر در بانک اطلاعاتی تاریخ و ساعتشو ثبت کنه و بعد یه تابع مینوشتم که :
1- چک کنه که نت وصله یا نه
2- اگه نت وصله آخرین رکورد تاریخ دیتابیس روی هاست رو با اولین رکورد دیتابیس روی لوکال رو چک کنه
3 - اگه تاریخ دیتابیس لوکال جلوتر از دیتابیس هاست باشه فیلدهای دیتابیس لوکال رو بخونه و اینسرت کنه به دیتابیس هاست
4- بعد از اتمام اینسرت ، دیتابیس لوکال رو خالی کنه

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

hadisalahi2
دوشنبه 10 بهمن 1390, 17:40 عصر
دوست عزیز ممنون از راهنماییتون
ولی اینجا دو تا مشکل به وجود میاد:
1- اگه کاربر عمل ویرایش یا حذف رو انجام بده چی؟ این عملیات رو چطوری تشخیص بدیم
2- این کار سرعتش خیلی پایینه و درصد خطاش هم بالاست و همچنین من نمیخوام بانک مبدا خالی بشه و میخوام همیشه این دو تا بانک باهم هماهنگ باشه
یاحق

opluse
دوشنبه 10 بهمن 1390, 18:15 عصر
در جواب سوال 1 :
خوب میشه یه جدول کلا جدا طراحی کرد برای این موضوع که بعد از هر عملی در دیتابیس ، نوع عمل - شماره آی دی رکوردی که عمل روش صورت گرفته - نام جدول رکورد - تاریخ و ساعت ثبت رکورد ، رو ذخیره کنه و بعد دوتا دیتابیس باهم چک بشن ، حالا اگه نت وصل باشه که اطلاعات هم در لوکال هم در نت ذخیره میش ، ولی اگه نت وصل نبود و اطلاعات در لوکال ذخیره بشه ، وقتی نت وصل بشه دوتا جدول تغییرات با هم چک میشن و اطلاعاتی رو جا به جا میکنن
در جواب 2 :
والا در مورد سرعتش نمیتونم اظهار نظر کنم چون فکر نکنم اطلاعات حجم خیلی زیادی داشته باشن که سرعت انتقالش به چشم بیاد (شاید هم داشته باشن) . و اما در مورد درصد خطا ، فکر نکنم اگه کد ها رو دقیق بنویسید درصد خطای خیلی بالایی داشته باشه .
به هرحال کد نویسی سلیقه ای هستش و این سلیقه منه . موفق باشین .

hadisalahi2
دوشنبه 10 بهمن 1390, 20:14 عصر
نه این روش عملی نیست، چون امکان نداره حدود 200 تا جدول رو برای تک تک تغییرات چک کرد.
باید یک روش بهتر و ساده تر باشه

hadisalahi2
چهارشنبه 12 بهمن 1390, 19:25 عصر
ای بابا یعنی کسی نیست ، با این روش کار کرده باشه؟

صباح فتحی
شنبه 15 بهمن 1390, 18:15 عصر
منم همین مشکلو دارم.یه مقاله از ری اپلیکشن گرفتم اما نمیدونم چطور پیادش کنم

mojiparadox
شنبه 15 بهمن 1390, 19:40 عصر
هر جدولی رو که نیاز داری چک کنی، قبل از چک کردن Close و Open کن! نترس... خیلی سرعتش پائین نیست، اگه حجم جدولت زیر 100مگ باشه، خیلی سرعت نمیگیره...

hadisalahi2
یک شنبه 16 بهمن 1390, 09:58 صبح
چرا عزیز جان سرعت خیلی پایین میاد وقتی قرار باشه 30 تا شهرستان همزمان با یک بانک اطلاعاتی کار کنن

mojiparadox
یک شنبه 16 بهمن 1390, 10:50 صبح
چرا عزیز جان سرعت خیلی پایین میاد وقتی قرار باشه 30 تا شهرستان همزمان با یک بانک اطلاعاتی کار کنن

والا توی این حجم نمیدونم، ولی نرم‌افزار من 50تا یوزر داره و مشکل خاصی هم نداره... حالا اگه توضیح کامل بدی (پیام خصوصی) شاید بتونم یه جوری پیش خودم شبیه سازی کنم و راهش رو بهت بگم...

hadisalahi2
پنج شنبه 20 بهمن 1390, 08:20 صبح
توضیح خاصی نداره.فقط اینکه چطوری دو تا بانک اطلاعاتی با استفاده از امکانات SQL Server بتونند به صورت خودکار در یک زمان خاص با همدیگه هماهنگ بشن.

hadisalahi2
پنج شنبه 20 بهمن 1390, 08:50 صبح
صباح فتحی عزیز میشه اون مقاله ای رو که گرفتی برای ما هم اینجا بزاری
شاید تونستم یه چیزهایی ازش بفهمم