Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Firebird Server triggern (https://www.delphipraxis.net/140280-firebird-server-triggern.html)

hanspeter 15. Sep 2009 06:58

Datenbank: Firebird • Zugriff über: IBDAC

Firebird Server triggern
 
Hallo,

ich möchte gern, in Abhängigkeit von Dateneingaben, auf dem Server ein Programm triggern, welches bestimmte Vorverarbeitungen
vornimmt.
Für eine Stored Procedure ist die Aufgabe zu aufwendig. Deshalb überlege ich, wie ich auf dem Server ein Programm zur Verarbeitung triggern kann.
Die Clients sind teilweise über WLan und größere Strecken verbunden.

Beispiel:
In einer Sportveranstaltung wird das Ergebnis eines Teilnehmers eingegeben.
Jetzt muss das richtige Richtverfahren ausgewählt werden. Nach diesem Richtverfahren wird das gesamte Teilnehmerfeld sortiert.
Es erfolgt die Zuordnung der Placierung. Hier sind wieder Sonderfälle zu beachten.
Die Sortierung muss sofort erfolgen, da das Ergebnis laufend auf mehreren Anzeigen und im Internet angezeigt wird.

Also auf dem Client der Ablauf:

Speichere Ergebnis.
Lese Placierung vom Server.

In meiner jetzigen Lösung nimmt der Client die Sortierung und Placierung vor und schreibt dann das gesamte Ergebnis auf den Server.
Es können 3 bis 4 Clients Ergebnisse bereitstellen.
Kann mir wer einen Denkanstoß geben, wie man diese Lösung angehen könnte.

Hintergrund der Überlegung ist, das das Programm nach D2009 und D2010 sich im Vergleich zu D7 in der Größe mehr als verdoppelt hat und ein 16 MByte Bolide über Internet nur schwer handelbar ist.
Ich möchte das Programm gerne funktional entflechten.

Für einen Denkanstoß dankbar.
Mit Gruß
Peter

alzaimar 15. Sep 2009 07:13

Re: Firebird Server triggern
 
Verwende dafür den Befehl "POST_EVENT". Auf Seiten der EXE meldest Du dich für so ein Event beim Server an. Mit den IB-Komponenten geht das mit der IBEvents-Komponente.

mkinzler 15. Sep 2009 07:14

Re: Firebird Server triggern
 
->Trigger erzeugt Event, Programm auf dem Server reagiert darauf, führt die Arbeiten durch und bestätigt wiederrum mit Event.
->Verpacken von Verarbeitung in UDF

hanspeter 15. Sep 2009 07:21

Re: Firebird Server triggern
 
Zitat:

Zitat von alzaimar
Verwende dafür den Befehl "POST_EVENT". Auf Seiten der EXE meldest Du dich für so ein Event beim Server an. Mit den IB-Komponenten geht das mit der IBEvents-Komponente.

Postevent habe ich wieder abschaffen müssen, da dieser auf einigen Clients nicht funktioniert.
Ich habe noch einen Client mit Windows NT4.0. Da funktioniert Postevent ca. 20 min und dann nicht mehr.
Hier habe ich auf Polling umstellen müssen.
(Das Teil ist ein schweinisch teurer Fernsehbildgenerator-Regiezentrum für Fernsehübertragungen.)

Im Moment denke ich auch über SOAP nach. Habe nur Bedenken, dass die Installation für Nichtfachleute zu kompliziert wird.

Gruß
Peter


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:05 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz