تتبع أو الإخطار DB التغييرات - إدراج والتحديثات في الغالب

StackOverflow https://stackoverflow.com/questions/320864

  •  11-07-2019
  •  | 
  •  

سؤال

وكيف يمكنني تتبع أو الحصول على إخطار كلما يتم إدخال السجل أو تحديث في DB؟ وأود أن يخطر تطبيق خارجي من التغييرات في الوقت الحقيقي القريب عند حدوث مثل هذه التغييرات في DB. هل هناك نظم إدارة قواعد البيانات مستقلة وتطبيق لغة برمجة سبل مستقلة للقيام بذلك؟ إذا لم يكن كذلك، ثم هل من الممكن مع MS Access و MS SQL Server في الخصوص؟ أنا أبحث لتجنب الاقتراع مستمر من DB بطبيعة الحال.

هل كانت مفيدة؟

المحلول

ومع SQL Server فمن الممكن لتحميل DLL في SQL Server نفسه واستدعاء الأساليب من هذا مع الإجراءات المخزنة الموسعة. ثم يمكن للDLL إعلام التطبيقات الأخرى - عادة عن طريق مأخذ TCP

نصائح أخرى

وأعتقد أن الإصدار الأحدث من Microsoft SQL Server يسمح لك لجمع الأحداث في التعليمات البرمجية. NET الخاص بك على أساس شروط الخدمة والأحداث. لم أحاول ذلك، وأنا لم أسمع من أي 'DBMS مستقلة "طريقة للقيام بذلك (بدون الاقتراع DB كل X مللي ثانية).

ومع MS-الوصول، وتتبع التغيرات سجل أو إضافات سجل مع الحقول في الجدول الرئيسي التي تقوم بتخزين اسم المستخدم والتاريخ الذي تم فيه إنشاء السجل أو تحديثها.

وتحتاج إلى استخدام API ويندوز لتسجيل اسم المستخدم، عادة تشغيل عند فتح نموذج لوحة تبديل.

وأنا حفر للعثور على الأقدام لتعقب التغييرات المحددة. يستخدم بلدي قاعدة بيانات لإدارة المشروع. وأود أن تتبع ما تم تغييره على وجه التحديد، وليس فقط الذين وعندما يكون لدي الآن.

وأعتقد أن هذا يلبي متطلبات السؤال الأصلي. يمكنني في وقت لاحق إضافة API النوافذ الذي يقرأ اسم المستخدم.

وخاصة الفرعية Form_BeforeInsert (إلغاء وعدد صحيح)    لي! UserCreated = UCASE (CurrentUser ())    لي! DateCreated = الآن () نهاية الفرعية

والخاص الفرعية Form_BeforeUpdate (إلغاء وعدد صحيح)    لي! DateModified = الآن ()    لي! UserModified = UCASE (CurrentUser ()) نهاية الفرعية

و- مايك

لتفعل هذا مع SQL Server، يمكنك استخدام خدمة الإعلام - إرسال دلل التي تؤيد الإخطارات من DB للحصول على التحديثات البيانات التي يمكنك معالجة في بعض الطريق

.

ومع ذلك، فقد قال MS أنهم إزالة هذا من SQL Server 2008 .

وأوراكل لديه شيء مماثل (على الرغم من أنها تميل إلى ترك تقنياتها في مكان)، ولكني لم أر أي شيء قاعدة بيانات محايدة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top