Hallo,
nette Diskussion habe ich angestossen.
Aber wie ich schon selbst festgestellt habe,
werde ich erst mal die Finger von ZEOS lassen.
Zu Transaktionen:
ja ein TConnection (also eine Client-Verbindung zur Datenbank, also eine TDataBase der
BDE)
kann unter ZEOS nur eine Transaktion gleichzeitig bedienen.
Eine TConnection -> TTransaction -> TQuery gibt es nicht, es wird alles über die TConnection angestossen,
wie man es halt von der
BDE gewohnt.
Natürlich können mehrere Transaktionen gleichzeitig laufen, dann aber über
je eine TConnection (also
DB-Verbindung).
Apropos
BDE, ich weiss, dass sie tot (deprecated) ist.
Aber ich habe hier ein Programm mit ~ 900000 Zeilen Code zu warten,
dass läuft halt noch damit.
Zum damaligen Zeitpunkt (1995) gab es weder ibx, noch fiblus usw ;(
Für mich KO-Kriterium ist allerdings, dass es keine HardCommits gibt,
jedes Conn.Commit erzeugt ein Commit Retaining !
Schön für die Performance, wenn man die Connection nach getaner Arbeit
sofort wieder schliesst. Lasse ich die aber offen, weil ein Connect ohne
Connection-Pool lange dauert, steigt der
FB irgendwann aus.
Die Lösung im ZEOS-Forum heisst "Mache ab- und zu die Connection zu und wieder auf"
Das schlimme ist, es lässt sich hält nicht einstellen.
Die
BDE hatte immer ein hardcommit gemacht (es sei denn, man benutzt die driver flags).
Heiko