Hallo allerseits.
Wie einige andere hier auch muß ich jetzt in den saueren Apfel beißen
und alte aber noch aktive Projekte auf eine neue
DB umstellen.
Ich hab mich für Delphi 2007 mit FibPlus 6.8 entschieden
und dank Hansa kann ich mich wohl noch an die Sammelbestellung angehängen.
Für uns FibPlus/Firebird Newbies starte ich hier mal einen Thread mit den Fallen,
in die man dabei so tappen kann.
Hier ein paar zunächst "unerklärliche" Error-Meldungen:
1a) Error: "Client
SQL dialect 1 does not support reference to DATE datatype"
Tritt auf beim Zugriff auf eine Tabelle mit Feldern vom Typ Date,
obwohl in pFIBDatabase SQLDialect =3 gesetzt ist
1b) Error :"Transaction is active"
Tritt auf beim Öffnen einer Transaction einer 2.FIBDatabase-Komponente
1c) Error : FIBDatabase kann nicht geschlossen werden, weil eine Transaktion noch geöffnet ist.
Tritt auf beim Schließen der FIBDatabase-Komponenten
1d) FirebirdServer Error: "INET/inet_error: send errno = 10054"
Der Fehler ist irreführend und tritt eigentlich bei Netzwerkstörungen auf, die aber nicht vorliegen!
vermutete Ursache 1a - 1d : Bug in FibPlus6.8 bei zwei FIBDatabase-Komponenten in einer Anwendung
hanspeter hatte zu 1b bereits einen Thread geöffnet.
meine Lösung: Zunächst bis Bugfix keine zwei FIBDatabase-Komponenten gleichzeitig verwenden.
2) Error: "COLUMN 2 is specified without a name".
Tritt auf beim Aufruf von TpFIBDataSet.RecordCountFromSrv
oder wenn in TpFIBDataSet.PrepareOptions das Flag psAskRecordCount gesetzt ist.
vermutete Ursache:
RecordCountFromSrv führt vor der eigentlichen Abfrage folgende
SQL aus:
"SELECT COUNT(*) FROM ( selectquery )"
Die kann Firebird dann nicht verarbeiten, wenn die selectquery bereits ein COUNT ohne "AS" enthält.
meine Lösung: COUNT(EinFeld) nur mit "AS" verwenden.
Gruß
HeDoc