Einzelnen Beitrag anzeigen

HeDoc

Registriert seit: 11. Nov 2007
6 Beiträge
 
#1

Fallen bei Umstellung auf FibPlus

  Alt 14. Nov 2007, 20:28
Datenbank: Firebird • Version: 2.03 • Zugriff über: FibPlus
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
Si tacuisses, philosophus mansisses
  Mit Zitat antworten Zitat