AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Firebird Server triggern
Thema durchsuchen
Ansicht
Themen-Optionen

Firebird Server triggern

Ein Thema von hanspeter · begonnen am 15. Sep 2009 · letzter Beitrag vom 15. Sep 2009
Antwort Antwort
hanspeter

Registriert seit: 26. Jul 2003
Ort: Leipzig
1.350 Beiträge
 
Delphi XE2 Professional
 
#1

Firebird Server triggern

  Alt 15. Sep 2009, 06:58
Datenbank: Firebird • Zugriff über: IBDAC
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
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: Firebird Server triggern

  Alt 15. Sep 2009, 07:13
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.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Firebird Server triggern

  Alt 15. Sep 2009, 07:14
->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
Markus Kinzler
  Mit Zitat antworten Zitat
hanspeter

Registriert seit: 26. Jul 2003
Ort: Leipzig
1.350 Beiträge
 
Delphi XE2 Professional
 
#4

Re: Firebird Server triggern

  Alt 15. Sep 2009, 07:21
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
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:56 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