View Full Version : یکی کردن اطلاعات چند دیتابیس در یک دیتابیس (Replication)
ehsan_zanganeh
دوشنبه 26 آذر 1386, 22:16 عصر
سلام
همون طور که گفتم می خوام چند دیتابیس رو که ساختار یکسان دارند رو با هم یکی کنم در یک دیتابیس .
ممنون اگه کمک کنید.
scorpion_man
سه شنبه 27 آذر 1386, 00:28 صبح
با سلام به دوست عزیز
لطفا سوالتونو واضحتر بیان کنید زمانی هست که شما می خواهید چندتا دیتا بیس رو یکی کنید و رکوردهای تکراری رو هم پیدا کرده و حذف کنید یا محتویات خاصی رو با هم جمع بزنید ولی زمانی هم هست که شما میخواهید این دیتا بیس ها رو بدون در نظر گرفتن محتوا merge بکنید اینا کاراش از زمین تا آسمون با هم فرق می کنن
Ali Mahabadi
سه شنبه 27 آذر 1386, 09:28 صبح
replication مبحث گسترده ای داره که باید دقیقا اون چیزی رو که می خواهید بفرمائید .
البته از این کتابها هم می تونید استفاده کنید :
http://www.amazon.com/s/ref=nb_ss_b/002-4782907-5154426?url=search-alias%3Dstripbooks&field-keywords=replication
ehsan_zanganeh
چهارشنبه 28 آذر 1386, 21:52 عصر
با سلام
منظورم اینه که یک سری رکورد جاهای مختلف داریم و تکراری هم نیستند. می خوایم اونها رو یکی کنیم
scorpion_man
پنج شنبه 29 آذر 1386, 00:15 صبح
با سلام به دوستان
طبق گفته دوستمون عملیات replication انواع خاصی داره ولی خوشبختانه کاری که شما میخواهین انجام بدید خیلی ساده هست میتونید یه store procedure بنویسید که روسطرهاتون رو database حرکت بکنه و به database جدید اضافه بکنه که فکر کنم این راحتترین راه باشه البته این راه یه راه حل الگوریتمی هست و نیازی به دستور خاصی نداره
موفق باشید
Ali Mahabadi
پنج شنبه 29 آذر 1386, 23:47 عصر
منظور شما اینه که بجای replication بیایم و رکورد های جدید را شناسایی و به DB مقصد اضافه کنیم ؟
scorpion_man
جمعه 30 آذر 1386, 01:43 صبح
منظور شما اینه که بجای replication بیایم و رکورد های جدید را شناسایی و به DB مقصد اضافه کنیم ؟
راحتترین راهش اینه که یه pointer تعریف کنید و آخرین وضعیت record هایی که replication کردید رو نگه دارید بعد دفعه بعد از وضعیت فعلی شروع به کار کنید
ولی خواستید میتونید از replication دیتابیس ها استفاده کنید این یه راهی هست که من انجامش دادم و جواب گرفتم
موفق باشید
Ali Mahabadi
جمعه 30 آذر 1386, 19:48 عصر
در مورد استفاده از pointer چه جوری این رو پیاده سازی کردین . در وافع عملیات insert ,delete , update را چه جوری نگهداری می کنید و دیتا رو انتقال میدید ؟
scorpion_man
شنبه 01 دی 1386, 00:24 صبح
با سلام خدمت دوست عزیز
البته من این کارو رو Desktop application انجام دادم و تو web تا حالا موردی پیش نیومده تا این کارو انجام بدم ولی باز تفاوتی نمیکنه
برای این کار هر بار که عملیات جمع آوری اطلاعات از چند دیتابیس رو انجام میدادم با همون به اصطلاح replication فرضی آخرین وضعیت رکورد و تاریخ و تعداد رکورها و بقیه اطلاعات مورد نیازم رو به صورت Stream با ساختاری که خودم ساخته بودم تو یه file باز با ساختار خودم ذخیره میکردم و با یه Scheuled که نمیدونم درست نوشتم یا نه با فاصله زمانی مشخص تو برنامه این کارو انجام میدادم با این تفاوت که میومدم قبلا اطلاعات فایل رو بازنگری میکردم و از آخرین وضعیت این کارو دوباره انجام میدادم ولی بازم باید اشاره کنم که این با اصول اساسی replication تفاوت داره replication یه حالت بسیار پیشرفته هست که حتی اطلاعات تغییر کرده و حذف شده رو replicate میکنه برا همین من اول نوع replication شما رو اگه خاطرتون باشه پرسیدم چون تو برنامه من نیازی به اطلاعات تغییر کرده نبود فقط دیتا های چند دیتا بیس رو یکی میکردم من به این صورت عمل کردم
موفق و پیروز باشید
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.