PDA

View Full Version : سوال: تجميع اطلاعات چند بانك در يك بانك



1397mehrdad
سه شنبه 16 دی 1393, 12:58 عصر
سلام
من برنامه اي دارم كه قراره اطلاعات كارمندان رو در چند شهر جمع آوري كنه و به صورت ماهيانه بصورت سي دي به يك بانك در تهران منتقل كنه . با استفاده از Replication موفق به تجميع اطلاعات نشدم چون در صورتي كه اطلاعات يك شهر با اين روش به بانك تهران منتقل بشه كل اطلاعات جايگزين مي شه و اطلاعات قبلي از بين ميره و با توجه به اينكه اطلاعات چند ديتا بيس قراره با اين روش تجميع بشه هر دفعه با اعمال هر ديتابيس اطلاعات اون ديتابيس جايگزين ميشه و اطلاعات قبلي از بين مي ره .
با استفاده از كوئري هاي Append و create table هم به خاطر اينكه ايجاد كليد تكراري مي كنه امكان نداشت . مي خواستم ببينم كسي مي تونه كمكم كنه ؟
آيا امكان استخراج اطلاعات در يك بازه زماني خاص و ارسال اون به يك فايل متني يا ... هست كه بتونه در ديتابيس مقصد جايگذاري بشه ؟

mohammadsaleh
چهارشنبه 17 دی 1393, 10:05 صبح
سلام. نيازي به فايل متني نيست. شما يك پرسش بساز و اطلاعات را در بازه زماني مربوطه استخراج كن بدون فيلد id.بعد با استفاده از اپند به جدول اصليت ضميمه كن در اينجا اگر فيلد id شما اتونامبر باشه به اطلاعات رسيده اي دي مي ده

1397mehrdad
پنج شنبه 18 دی 1393, 11:42 صبح
سلام. نيازي به فايل متني نيست. شما يك پرسش بساز و اطلاعات را در بازه زماني مربوطه استخراج كن بدون فيلد id.بعد با استفاده از اپند به جدول اصليت ضميمه كن در اينجا اگر فيلد id شما اتونامبر باشه به اطلاعات رسيده اي دي مي ده
سلام
فيلد id من كد پرسنلي افراد است و كليد اصلي نيز مي باشد . اگه اون رو در كوئري نياورم اطلاعات جايگزاري نمي شود . ميشه بيشتر توضيح بديد .!!!

mohammadsaleh
شنبه 20 دی 1393, 15:44 عصر
اگر كد پرسنلي باشه نبايد اين عدد تكراري باشه. بنابرين حتي اگر شعبات مختلفي هم باشه نبايد دو اي دي همسان داشته باشيد. شما بايد كد پرسنلي تون منحصر بفرد باشه. در اين صورت ديگه به مشكلي بر نمي خوريد. به نظرم شما كد پرسنلي رو اتونامبر گرفتيد. به جاي اينكار به هر شعبه يك سري اعداد از ... تا ..... اختصاص بدهيد كه كليد اوليه هم باشد- تا در آن شعبه تكراري نشود.

1397mehrdad
یک شنبه 21 دی 1393, 22:12 عصر
اگر كد پرسنلي باشه نبايد اين عدد تكراري باشه. بنابرين حتي اگر شعبات مختلفي هم باشه نبايد دو اي دي همسان داشته باشيد. شما بايد كد پرسنلي تون منحصر بفرد باشه. در اين صورت ديگه به مشكلي بر نمي خوريد. به نظرم شما كد پرسنلي رو اتونامبر گرفتيد. به جاي اينكار به هر شعبه يك سري اعداد از ... تا ..... اختصاص بدهيد كه كليد اوليه هم باشد- تا در آن شعبه تكراري نشود.

من كد پرسنلي رو اتونامبر نگرفتم . براي اضافه كردن كارمند جديد مشكل ندارم . براي ثبت تغييرات مشخصات كارمندان مشكل دارم . فرض كنيد نام پدر كارمندي به نام علي رحماني از محمدرضا به محمد تغيير كرده . حالا كه ميخوام تغييرات اين كارمند رو در پايگاه داده تهران انجام بدم چون كد پرسنلي علي رحماني در پايگاه داده تهران موجود است خطاي Duplicate مي ده . مي خوام بدونم براي آپديت كردن جدول يك پايگاه داده از طريق يك پايگاه داده ديگه بايد چيكار كرد .
من هر كاري كردم نتونستم با استفاده از كوئري Update اطلاعات يك جدول از يك پايگاه داده رو با استفاده از اطلاعات همون نوع جدول در يك پايگاه داده ديگه Update كنم . اگه كسي مي تونه كمك كنه . ممنون

amirzazadeh
دوشنبه 22 دی 1393, 07:27 صبح
سلام
يك نمونه كوچيك از بانك رو اپلود كنيد.

1397mehrdad
سه شنبه 23 دی 1393, 11:59 صبح
من يه نمونه كوچيك درست كردم . و تقريبا چيزهايي رو كه در بانك اصلي قرار داره رو تا حدي در اون گذاشتم . سه تا پوشه به نام هاي اصفهان - تهران و مشهد قرار دادم . هر سه پايگاه داده از لحاظ ساختار شبيه هم هستند . فرض كنيد كه اطلاعات فايل هاي مشهد و اصفهان قراره هر ماه اطلاعات ديتابيس تهران رو به روز كنه و ديتا بيس تهران شامل همه اطلاعات دو ديتا بيس مشهد و اصفهان بشه . با استفاده از كوئري update يا چيز ديگه چطور ميتونم اطلاعات دو ديتابيس اصفهان و مشهد رو هر ماه به ديتابيس تهران انتقال بدم . ضمنا اگه بشه با استفاده از فيلد Darj_date كه در پايگاه داده تعريف شده محدوده استخراج اطلاعات رو با استفاده از تاريخ مشخص كنم و همون اطلاعات را جايگذاري كنم . اميدوارم منظورم رو درست رسانده باشم.127528127529127530

1397mehrdad
شنبه 27 دی 1393, 23:00 عصر
دوستان كسي نبود كمك كنه ؟؟؟!!!!!!!!!!

Miprosoft
چهارشنبه 01 بهمن 1393, 00:35 صبح
=update [local_database].tbl_Personel set str_Father_Name =newValue where int_personel_ID
)
(Select int_personel_ID from OPENDATASOURCE(Connection String
. نقطه بعد از پرانتز بسته بالا یادت نره ، درهم میشد اینجا نوشتم
server_Database_name.Owner.tbl_Personel
(
اگر جواب نداد از OPENDATASOURCE در دیتابیس Local هم استفاده کن. من با دلفی تست کردم. بین دهیاری ها و بخشداری ها اطلاعات ردو بدل می کنم. اگه بدردت خورد نیازی به سپاس نیست فقط بی زحمت اگه درمورد Distributed Transaction اطلاعاتی بدست آوردی به من بده. در ضمن اگه Insert Select اجرا نشد باید یک تنظیمی رو روی سرور انجام بدی.

1397mehrdad
پنج شنبه 02 بهمن 1393, 13:08 عصر
با تشكر از Miprosoft . اگه كسي مي تونه مشكل من رو با كوئري هاي Update يا append يا ... حل كنه ممنون ميشم .

1397mehrdad
دوشنبه 06 بهمن 1393, 21:54 عصر
دوستان كسي نميتونه كمك كنه.
نياز فوري به حل اين مشكل دارم .

1397mehrdad
جمعه 17 بهمن 1393, 12:32 عصر
کمک !!!!!!!!!

saeed1234n
جمعه 17 بهمن 1393, 14:01 عصر
با سلام

دوست عزیز

راحت ترین کار استفاده از یک فایل اکسل در کنار فایل اکسس است

بدین ترتیب که اطلاعات هر تعداد دیتابیس که دارید در فایل اکسل ذخیره کنید و نهایتا به فایل اکسس لینک بدهید

و در اکسس گزارشات لازم را اخذ نمایید .

با تشکر نادری