Einzelnen Beitrag anzeigen

Artur

Registriert seit: 31. Dez 2006
Ort: Augsburg
70 Beiträge
 
Delphi XE8 Enterprise
 
#6

AW: Übergabe Datenbankschnittstelle (Transaction, etc.)

  Alt 4. Jan 2014, 08:32
Guten Morgen,

und vielen Dank für die sehr ausführlichen Antworten

@sx2008: Danke für den Hinweis, werde ich ändern

@nahpets: Aus dem Ansatz komme ich eigentlich her. Ich hatte ein Datenmodul mit den Kopplungen zur Datenbank, etc. Dann kam ein Datenmodul dazu, mit einigen Optionen für das Hauptprogramm. Dann habe ich einen Kalender ergänzt, den ich aber erst mal eigenständig gebaut habe. Deshalb hat der sein eigenes Datenmodul. Und da wäre die Frage, wie man die am Besten miteinander koppelt bzw. was man am sinnvollsten übergibt (beim Kalender hatte ich die TpFIBDatabase als Parameter übergeben).

@Sir Rufo: Mein Exceptionhandling im Programm ist generell grausam und ab und zu versuche ich alten Code dahingehend auch zu bereinigen. Ursprünglich hatte ich es so, dass alles durch gewunken wurde, damit die Mitarbeiter nirgend festhängen (FIBplus hat einen Exceptionhandler als Komponente). Inzwischen bin ich das eher am rückbauen, weil ich nicht mehr weiß, wo der Fehler aufgetreten ist. Die Prozedur unten wird nur an zwei Stellen verwendet: Bei der Replikation und wenn ich eine neue Version verteile, und an der lokalen Datenbank ein paar Änderungen über Skript durchgeführt werden müssen. In beiden Fällen kann ich nichts groß behandeln:

- Replikationsfehler heißt in der Regel Abriss der Datenbankconnection zum Server, dann muss der AD halt die Replikation insgesamt neu starten.
- Und meine Update Skripte hatten zuletzt immer wieder mal Fehler ausgeworfen, wenn z.B. eine Domain schon angelegt war. Beim Update wurde gemeldet, dass irgendetwas schiefgegangen ist, aber die Leute können damit nichts anfangen und in der Regel war es nicht kritisch und das Programm lief trotzdem soweit okay.
Inzwischen gibt es aber bedingte Skripte bei FIBplus, da bin ich gerade am lernen, ob ich diese Domain Geschichten sauber wegbekomme. Und generell will ich Datenbankupdates irgendwann beim Datenabgleich durchführen und dieses blöde Patchen bei Updates loswerden.

Ich wollte mir mit der Routine nur die Chance schaffen, nachträglich nachschauen zu können, was da evtl. nicht geklappt hat.

@Furtbichler: Öhmmm... (Sehr interessant, ein wenig hoch für meine begrenzten Fähigkeiten, werde ich mal sacken lassen...).

Vielen Dank an alle,

Artur
Artur
  Mit Zitat antworten Zitat