View Full Version : ارتباط بین دو بانک اطلاعاتی sql
rezaei manesh
چهارشنبه 20 مهر 1384, 09:09 صبح
سلام
من دو بانک اطلاعاتی دارم که توسط دو برنامه پر می شوند .حالا من دو جدول در بانک اول دارم که در برنامه اول پر میشود و همین دو جدول را در برنامه دوم هم دارم با این تفاوت که در اینجا فقط از اطلاعات آن استفاده می شود.
حالا من می خوام یه تریگر یا هرچی تعریف کنم که هر موقع این دو جدول در بانک اول تغییر داده شد این تغییرات در بانک دوم هم اعمال بشن؟
تا به حال هم از این روش ها استفاده نکردم.لطفا اگه کسی کار کرده به من کمک کنه
AminSobati
چهارشنبه 20 مهر 1384, 11:55 صبح
سلام،
با توجه به اینکه اطلاعات فقط 2 جدول رو هماهنگ میکنید، ارزش Replication نداره و Trigger راه خوبی به نظر میرسه.
اگر جداول شما از Identity استفاده میکنند، مراقب بعضی نکات باید باشید. مثلا اینکه آیا عددی که توسط Identity تولید شده رو منتقل میکنید یا در اونجا خودش باید Identity بگیره؟ اگر منتقل میکنید، احتمال تکراری شدنش هست و اگر منتقل نمیکنید، پس یک رکورد در جدول اول، یک عدد از Identity میگیره و وقتی به جدول دوم میره، عدد دیگه. پس رکورد شما در این دو جدول دارای IDهای متفاوت هستش.
شاید ترجیح بدین Identity Range استفاده کنین. مثلا جدول اول از 0 شروع کنه به بینهایت و جدول دوم از 1- شروع کنه تا منفی بینهایت.
و خلاصه از این قبیل نکات...
Achchan
چهارشنبه 20 مهر 1384, 13:32 عصر
Agree with identity range idea,but assume that you have three tables like this,so what should you do? I think the MOD solution is more flexible: table1 with identities that mod 3 is 0,table2 identity mod 2 is 1 and table3 identity mod 3 is 2.
Let me know what do you think?
AminSobati
چهارشنبه 20 مهر 1384, 14:01 عصر
راه حلی که ارائه شد برای سناریوی خاص دوستمون آقای رضایی(دو جدول) بود. هر چند وجود بیش از دو جدول هم مانع استفاده از Range نخواهد شد(مثلا در Replication این امر توسط SQL Server انجام میشه)، اما روشهای دیگری هم وجود داره مثل استفاده از یک فیلد به اسم SiteID که هر جدول یک ID برای خودش خواهد داشت و PK در اون جدول، ترکیبی از SiteID و فیلد Identity خواهد بود. ولی هر نوع ابتکاری در این زمینه ممکنه مورد استفاده قرار بگیره و فقط مطالب من، تنها راه حل نیست.
rezaei manesh
چهارشنبه 27 مهر 1384, 09:40 صبح
سلام
این دو بانک از دو برنامه که یکی رو من باید بنویسم و دیگری یه برنامه آماده است که فقط من می تونم از اون استفاده کنم(کارت ساعت زنی) .
مثلا کلید در یکی از بانک ها شماره پرسنلی هست
من هم با روش Trigger موافقم .اما نمی تونم لطفا در نوشتن این Trigger به من کمک کنید.
با تشکر
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.