Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Wann dbExpress und wann nicht? (https://www.delphipraxis.net/164444-wann-dbexpress-und-wann-nicht.html)

stahli 13. Nov 2011 15:06

Datenbank: - • Version: - • Zugriff über: -

Wann dbExpress und wann nicht?
 
Emba setzt ja auf dbExpress.

Als ich vor Jahren mit DB gearbeitet habe war ich froh, dass es die BDE gab -> einfach und flexibel zu nutzen (wenngleich natürlich nicht besonders stabil, wie man nun weiß ;-)).
Dann habe ich mal ein wenig mit FireBird über IBX herumgespielt.

Wer nutzt eigentlich effektiv dbExpress (und für welche Datenbanken)? Was man so liest, scheint es ja wenig überzeugte Nutzer zu geben.
Liegt das an der unidirektionalen, nicht editierbaren Datenmenge und notwendiger ClientDataset-Verwendung?

mjustin 13. Nov 2011 19:07

AW: Wann dbExpress und wann nicht?
 
dbExpress an sich ist schon nicht schlecht, wenn man z.B. die kommerziellen Produkte betrachtet die einige Möglichkeiten bieten.

Die Unicode-Unterstützung für InterBase könnte besser sein (TStringField ist auch in Delphi 2009+ immer noch AnsiString, daher müßte ich alle persistenten Feldkomponenten umstellen wenn die Datenbank auf UTF-8 umgestellt wird).

Auch dass der InterBase dbExpress Treiber keine Möglichkeit bietet Millisekunden in TimeStamp Feldern zu speichern führte zu Problemen - aber es liegt wohl an der nativen Clientbibliothek und den darin verwendeten Datetime-Strukturen (allerdings können andere native InterBase Clients mit Millisekunden operieren, wie man in IBExpert sieht).

Und im Zusammenspiel mit DevExpress cxDBDateTime Feldern ist aufgefallen, dass ungültige Datumswerte von dbExpress nicht abgefangen werden, mit unangenehmen Folgen: wenn man den Datumswert in einer cxDBDateTime Kompponente manuell komplett "leert" und dann den Datensatz abschickt, wird der Wert -70000 in die Datenbank geschrieben. Und das führt zu Bauchschmerzen beim SELECT. (-70000 ist der Datums-'Basiswert' der DevExpress Komponenten, 0 ist es in Delphi).

Dennoch ist insgesamt dbExpress bisher weitgehend stabil gewesen... Die BDE habe ich zuletzt 1997 gesehen :)

Gor1 14. Nov 2011 13:19

AW: Wann dbExpress und wann nicht?
 
Ich habe für unsere Software DBExpress, AnyDAC, UniDAC und ADO ausprobiert.

Wir haben uns jetzt für AnyDAC entschieden.
Den Ausschlag gegenüber DBExpress und ADO gab vor allem die Unterstützung von vielen verschiedenen Datenbanken bei AnyDAC (da wir verschiedene Kunden-Datenbanken unterstützen müssen).
Bei DBExpress ist man ja bei der Professional-Variante von Delphi in der Wahl der Datenbank recht eingeschränkt (und ein Upgrade auf die Enterprise-Version ist teurer als AnyDAC).

Falls die gewünschte Datenbank von DBExpress im verwendeten Delphi unterstützt wird, dann spricht für mich nichts gegen DBExpress. In der hauptsächlich von mir getesten Kombination mit Firebird funktionierte es stabil und war auch schnell genug. Auch Unicode war kein Problem.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:34 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz