Frage

Wie kann ich verfolgen oder benachrichtigt, sobald ein Datensatz eingefügt oder in einem DB aktualisiert? Ich möchte eine externe Anwendung der Änderungen nahezu in Echtzeit benachrichtigen, wenn solche Änderungen im DB auftreten. Gibt es DBMS-unabhängig und Anwendung Programmiersprache unabhängige Möglichkeiten dies zu tun? Wenn nicht, dann ist es möglich, mit MS Access und MS SQL Server im Besonderen? Ich bin auf der Suche kontinuierliche Abfrage der DB natürlich zu vermeiden.

War es hilfreich?

Lösung

Mit SQL Server ist es möglich, eine DLL in SQL Server zu laden selbst und rufen Methoden von dieser mit erweiterten gespeicherten Prozeduren. Die DLL kann dann andere Anwendungen informieren -. In der Regel über einen TCP-Socket

Andere Tipps

Ich denke, die neueste Version von Microsoft SQL Server ermöglicht es Ihnen, Ereignisse in Ihrem .NET-Code basierend auf Server Bedingungen und Ereignisse zu erhöhen. Ich habe es nicht ausprobiert, und ich habe nicht irgend ‚DBMS unabhängig‘ Art und Weise, dies zu tun (ohne Polling DB alle X Millisekunden).

gehört

Mit MS-Access, ich verfolgen Rekord Änderungen oder Ergänzungen Rekord mit Feldern in der Haupttabelle, die den Benutzernamen und das Datum speichern, wenn der Datensatz erstellt oder aktualisiert wird.

Sie benötigen einen Windows-API verwenden, um den Benutzernamen zu erfassen, in der Regel ausgeführt werden, wenn Sichtsformular geöffnet wird.

Ich bin zu graben einen weg finden spezifische Änderungen zu verfolgen. Meine Datenbank ist für das Projektmanagement eingesetzt. Ich möchte, um verfolgen, was speziell geändert wurde, nicht nur, wer und wann, dass ich jetzt.

Ich denke, das die Anforderungen der ursprünglichen Frage erfüllt. Ich kann später den Windows-API hinzufügen, die den Namen des Benutzers liest.

Private Sub Form_BeforeInsert (Cancel As Integer)    Me! Nutzererzeugte = UCase (Current ())    Me! Datecreated = Now () End Sub

Private Sub Form_BeforeUpdate (Cancel As Integer)    Me! DateModified = Now ()    Me! UserModified = UCase (Current ()) End Sub

- Mike

Um dies zu tun, mit SQL Server verwenden Sie den Notification Service - schreiben eine DLL, die für Daten-Updates, um Benachrichtigungen von der DB abonniert hat, die Sie in irgendeiner Weise verarbeiten kann

.

Allerdings MS hat gesagt, dass sie Entfernen dies von SQL Server 2008 .

Oracle hat etwas ähnliches (obwohl sie dazu neigen, ihre Technologie an ihrem Platz zu bleiben), aber ich habe nichts gesehen, das Datenbank-neutral ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top