تشخیص آنی رکورد جدید در جدول
سلام
برای اینکه بتونم منظورم خوب مطرح کنم یک مثال میزنم.
یک جدول در SQL داریم که میخوایم به محض اینکه رکوردی جدید توسط کاربر اول (در شبکه) در اون ثبت شد، کاربر دوم مطلع بشه. میشه هم گفت مسنجر.
راه حل منطقی چیه؟
خودم یک راه به ذهنم میرسه که برنامهی هر کاربر توسط یک تایمر به صورت مداوم (هر 5 ثانیه) وجود رکورد جدید رو چک کنه. ولی در این روش ترافیک شبکه بالا میره و برنامه تقریبا مشغول هست. و ممکنه در هر بار چک کردن، برنامه برای باز کردن جدول یک ایست کوتاه داشته باشه.
چه راهکارهای دیگه ای شما پیشنهاد میکنید.
پیشاپیش از همکاریتون متشکرم.
پایان نیافتن دستور SET ENABLE_BROKER
با سلام و احترام
من برای فعال کردن Service Broker این Query را اجرا می کنم:
USE master ;
GO
ALTER DATABASE Northwind SET ENABLE_BROKER ;
GO
رو دستگاه خودم جواب داد ولی بروی دستگاه دیگری که اجراش می کنم،هیچ وقت خاتمه پیدا نمی کنه.یعنی وقتی دکمه Execute را می زنم اجرای دستور شروع میشه و پایین صفحه هم کنتور می ندازه میره به امان خدا.یک بار تا 6 یا 7 دقیقه صبر کردم ولی کاسه صبرم لبریز شد و این topic را فرستادم.
این دستور را برای تشخیص آنی رکورد جدید در جدول استفاده می کنم
1 ضمیمه
نقل قول: تشخیص آنی رکورد جدید در جدول
سلام من هم با این که کد
USE master ;
GO
ALTER DATABASE Northwind SET ENABLE_BROKER ;
GO
واسه بانک اطلاعاتیم زدم و یک StoredProcedure تعریف کردم و فقط در سورس prj_QueryNotification.rar نام دیتا بیس و به نام دیتا بیس خودم تقییر دادم ولی کار نکرد ؟!
(نام استرینگ کامند هم نام بود با StoredProcedure مثال )
روی اس کیو ال 2014 دارم تست میکنم مثال کار مکینه ولی برنامه تغییر داده شده من بار اول رکورد ها رو میاره ولی ایونت رو تشخیص نمیده !
یک مثال تصویری از notification برای یک پایگاه داده تعریف سرویس و تنظیم اون بزارین لطفا
با این دستور هم صحت فعال بودن بروکر رو تست کردم
SELECT NAME, IS_BROKER_ENABLED FROM SYS.DATABASES
چالب اینجاست تابع فرا خانی میشه ولی داده ها توی queues گیر میکنه و ایونت اجرا نمیشه
ضمیمه 125610