PDA

View Full Version : trigger براي انتقال اطلاعات تغييريافته از يك DB به DB ديگر



MissDelphi
چهارشنبه 21 آبان 1393, 09:11 صبح
سلام
من دو ديتابيس مستقل دارم كه ميخوام زمانيكه اطلاعات جداول يك ديتابيس تغيير كرد اين اطلاعات به جداول معادلي كه در ديتابيس ديگر هست منتقل بشه. چطور بايد اين كارو انجام بدم؟
مثلا يك جدول استخدام و يك جدول نظرسنجي دارم.. ميخوام زماني كه كسي درسايت فرمهاي مربوط به اين جداول رو پركرد و اطلاعات در ديتابيس ذخيره شد همون موقع اين ركورد در يك ديتابيس ديگه كه داراي جدول معادل همان جدول است ذخيره شود. البته فقط يك جدول نيست و بايد هركدام از جداول ديتابيس اول تغيير كرد جدول معادل آن در ديتابيس دوم تغيير كند.
خيلي فوريه اگر كمك كنيد ممنون ميشم

حمیدرضاصادقیان
جمعه 23 آبان 1393, 00:02 صبح
سلام.
شما یک Trigger After insert می نویسید و این عملیات رو انجام میدین.
الان دقیقا مشکلتون کجاست؟
توی نوشتن Trigger مشکل دارید؟

hadi2345
پنج شنبه 13 آذر 1393, 11:39 صبح
سلام جناب صادقیان ، من دقیقا همین مشکل رو دارم و نخواستم تاپیک جدید ایجاد کنم.

ببینید من این تریگر رو نوشتم و مشکلی هم نداشت. الان که میخوام در یک شهر دیگه و یک سرور دیگه همون تریگر رو اجرا کنم جواب نمیده. احساس میکنم یک تنظیمات خاصی هم داره وگرنه تریگر جواب داده و همین الان هم در مرکز استفاده میشه.

آیا برای اینکه تریگر برای دو دیتابیس مختلف استفاده بشه باید در تنظیمات سرور کار خاصی انجام بدم ؟ تو سرور قبلی اصلا یادم نمیاد کاری کرده باشم. فکر کنم از قبل همه چیز مرتب بوده !!

قبلا از راهنمایی شما تشکر میکنم...

hadi2345
پنج شنبه 13 آذر 1393, 12:25 عصر
و در ضمن یک موضوع جالب اینه که وقتی بصورت دستی یک ردیف رو به جدولی که تریگر براش نوشته شده کپی میکنم عمل میکنه و در جدول دیگه ای که در یک دیتابیس دیگه هست کپی میشه ولی در صورتی که این ردیف بصورت غیر دستی درج بشه عمل نمیکنه !!

hadi2345
پنج شنبه 13 آذر 1393, 13:35 عصر
وقتی جداول مبدا و مقصد در یک دیتابیس باشن ، باز هم جواب میده ! نمیدونم چرا با دیتابیس دیگه مشکل داره !! خطاش رو هم نمیدونم چیه !!

ممنون میشم منو راهنمایی کنید دوستان ...

حمیدرضاصادقیان
پنج شنبه 13 آذر 1393, 18:22 عصر
سلام
ببینید اگر دارید بر روی دو دیتابیس مختلف بر روی دو سرور مختلف کار میکنید حتما باید Linked Server داشته باشید تا بتوانید بین دیتابیس ها ارتباط برقرار کنید.

hadi2345
جمعه 14 آذر 1393, 19:01 عصر
با عرض سلام مجدد ،
دو سرور نیست . یک سرور و دو دیتابیس مختلف. وقتی رکورد بصورت دستی کپی میشه ، تریگر عمل میکنه. ولی وقتی از طریق اپلیکیشن این اتفاق میفته تریگر عمل نمیکنه و رکوردی هم درج نمیشه !!
در ضمن وقتی هر دو جدول در یک دیتابیس باشن باز هم عمل میکنه .
ممنونم.