Entwickler-Ecke
Datenbanken - Automatische und sofortige Aktualisierung einer DBGrid
Sebi82 - So 07.09.08 17:22
Titel: Automatische und sofortige Aktualisierung einer DBGrid
Hallo !
Ich spreche mit meinem DB-Client (in Delphi 7 geschrieben) einen MS SQL-Server 2005 im Netzwerk über ADO an. Nun habe ich mal eine Frage zu folgendem Szenario:
System: Klassische 2-Schichten-Architektur (Also MSSQL-Server und einige Clients)
1. Auf einem "Auftrag-Erfassungs-Client" wird ein neuer Kundenauftrag gebucht.
2. Im Lager soll "in Echtzeit" auf dem "Lager-Client" der neue Auftrag sichtbar sein (z. B. in einem DBGrid), so dass der Lagerist gleich die passende Ware verpacken kann.
Also nochmal mit anderen Worten: Auf dem einen Client soll etwas in die Datenbank geschrieben werden und auf einem anderen Client soll dieser "neue" Datensatz _sofort_ sichtbar sein.
Eine mögliche Lösung wäre natürlich ein Polling-Verfahren, indem ein Timer alle 20 Sekunden die DB abfragt.
Aber gibt es da nicht eine elegantere Lösung? Oder ist das mit einer 2-Schichten-Architektur so nicht möglich?
Vielen Dank und viele Grüße,
Sebastian
LexXis - So 07.09.08 17:27
Schöner wäre es IMHO natürlich, wenn der Server dem Lager-Client bescheid gibt, wenn ein neuer Auftrag eingeht.
Wobei das jetzt glaub ich nicht mehr viel mit Datenbanken zu tun hat, sondern schon Richtung Netzwerk geht :gruebel:
mfg
alzaimar - So 07.09.08 18:09
Das ist ohne Tricks möglich: In Status nascendi wird das eh nicht gehen, weil MSSQL keine derartigen Mechanismen bereitstellt. Du kannst die Funktionalität aber nachbilden, indem Du entweder:
a) nach jeder Änderung im SQL-Server per Extended-Stored-Procedure eine UDP-Message an Clients verschickst oder
b) Die Clients periodisch im Server nachschauen lässt, ob sich etwas geändert hat.
Sebi82 - So 07.09.08 18:51
OK,
dann vielen Dank für die Antworten. Ich werde es dann weiterhin so machen, dass ich den SQL-Server periodisch abfragen (=pollen) werde.
Beste Grüße und nochmals danke,
Sebastian
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!