verwendetes Datenbanksystem: MSSQL 2005
Guten Morgen,
Es ist mir irgendwie kein besserer Titel eingefallen. Es geht um eine Tabelle, in der Adressen gespeichert werden. Sie ist Teil einer Verwaltungssoftware, die ich nicht anpassen kann. Wenn die Tabelle geändert wird, sprich ein oder mehrere Datensätze dazukommen, sollen diese neuen Daten in eine andere Datenbank geschrieben werden. Also quasi eine einseitige Synchronisierung.
Ich habe bereits ein Programm geschrieben, dass diese Aufgabe erfüllt. Bei jeder Ausführung überprüft es die Tabelle ob neue Datensätze vorhanden sind, und schreibt dann ggf. in die zweite Datenbank. Dieses Programm wird einfach jede Minute aufgerufen.
Und genau das stört mich. Ist es nicht möglich, einen neuen Datensatz gleich nach dem dessen Schreibprozess in die Datenbank zu erkennen? Also quasi die Tabelle "abhören" ob was passiert. Was mir so spontan eingefallen ist, dass ich mein Programm abändere und die Logik in eine Endlosschleife packe. Das erscheint mir allerdings als wenig elegant. Ich würde quasi im Millisekundentakt "SELECT COUNT(Flag_NeuerDatensatz) FROM adresses WHERE Flag_NeuerDatensatz = 1" an den SQL Server schicken. Kann das gut sein?
Kennt Ihr irgendwelche Techniken. Oder könnt ihr mir Tips zur Programmierung geben? Das wäre Toll.
Gruss
Dann wird dir nichts anderen uebrig bleiben als das ganze alle n Minuten programmatisch zu ueberpruefen und die Datensaetze dann nachtraeglich einzufuegen.
be the hammer, not the nail!
ich hab von kurzem auch sowas gebraucht.
such mal nach SqlDependency 😉