PDA

View Full Version : انتقال آخرین تغییرات کد شد به جایی دیگر بدون خط online



rezaei manesh
دوشنبه 17 مرداد 1390, 11:45 صبح
سلام و عرض ادب
من 2 تا دیتابیس یکسان در 2 مکان مختلف دارم که به هم دیگه ارتباط هم ندارند
حال من می خوام اخرین تغییرات رو از دیتا بیس اول بگیرم و کد کنم و با روش های مختلف(مثل ایمیل) به مکان مورد نظر در سرور(مکان دوم) ببرم و دی کد کنم و دیستابیس رو به روز کنم
چند نکته:
-دیتابیس دوم قرار نیست تغییرات رو به دیتا بیس اول بده دیتابیس دوم فقط جهت نمایش هست
- حجم و تعداد جدول ها زیاد هست
-من باید کل مراحل رو کد بنویسم
-شاید مجبور باشم سرویسی بنویسم که خود کار این کار انجام بشه و..
چه راه حل هایی پیشنهاد می کنید که امنیت و سرعت خوبی داشته باشه

AminSobati
دوشنبه 31 مرداد 1390, 04:31 صبح
سلام دوست عزیزم،
شما که میخواین همه کارها رو خودتون انجام بدین، پس دیگه مطرح کردن سوال در تالار Replication دلیلش چیه! :-) اصلا چرا Replication استفاده نمیکنین. چون به نظر میرسه چرخ رو دارین از اول اختراع میکنین

rezaei manesh
چهارشنبه 02 شهریور 1390, 14:50 عصر
سلام
ممنون از پاسختون
من اصلا نمی خوام چرخ رو دوباره اختراع کنم چون نه خیلی اونقدر حرفه ای شدم نه زمانش رو دارم
روش ارسال به سرور چون مشخص نیست کار من رو سخت می کنه
من می تونم کدی بنویسم که اخرین تغییرات دیتا بیس رو به من بدم و من این فایل رو به مقصد انتقال بدم و اونجا اعمال کنم به طوری که دفعه بعد دوباره بتونم اخرین تغییرات نسبت به دفعه قبل رو داشته باشم؟
گفتید چرا از Replication استفاده نمی کنید
من چون دیدم خواسته من نزدیک یا خود Replication هست اینجا مطرح کردم.

AminSobati
پنج شنبه 10 شهریور 1390, 03:20 صبح
دو موضوع رو میشه بعنوان موضوعات اصلی این کار تشخیص داد:

1) حس کردن تغییرات: میتونین فیلد timestamp در جدول قرار بدین تا بعد از update شدن مقدار timestamp عوض بشه و از روی timestamp قبلی که برای اون رکورد در جایی ذخیره کردین، تشخیص بدین که آیا این رکورد از آخرین بار همسان سازی، تغییر داشته یا خیر. همچنین میتونین trigger بنویسین که وقتی رکورد ویرایش میشه، جایی log کنه.

2) ماهیت فایل انتقالی: معقول ترین راه این هست که برای رکوردهای تغییر یافته، Script تولید کنین. مثلا اگر رکوردی update شد، از روی timestamp تشخیص میدین رکورد ویرایش شده پس براش دستور ویرایشی Generate میکنین تا در مقصد این دستور اجرا بشه.

پیشنهاد سرآشپز: اگر ارتباط بین مبدا و مقصد وجود داره، از Replication استفاده کنید چون انجام کارهای فوق زمان زیادی از شما خواهد گرفت!