Einzelnen Beitrag anzeigen

Delphi.Narium

Registriert seit: 27. Nov 2017
2.415 Beiträge
 
Delphi 7 Professional
 
#24

AW: Welches DBMS sollte ich nehmen?

  Alt 17. Feb 2021, 08:25
Zitat:
die ADO-Komponenten sind
Sind Zugriffskomponenten wie ZEOS, IBDAC etc. Nur das ADO seine Eigenheiten hat. Syntax die vom Standard abweicht...etc. Viele sind von ADO u.a. deswegen weg.
Bei Delphi 7 hat man standardmäßig Datenbankkomponenten für die BDE (TTable, TQuery ...) und die ADO-Komponenten (TAdoConnecntion, TAdoQuery, TADoTable, ...) für die ADO-Schnittstelle.

Das ADO eine eigene Syntax hat, die vom Standard abweicht, wäre mir allerdings neu. Nutze sie seit mehr als 20 Jahren und mir ist noch nichts derartiges aufgefallen.

Die SQL-Syntax ist immer von der Datenbank abhängig. Bei Oracle braucht man die Oracle-Syntax, bei PostGres die PostGres-Syntax, bei FireBird die FireBird-Syntax und bei Access die Access-Syntax. Und genau hier kommt der Irrglaube her, da für viele ADO = Access ist und das ist schlicht und einfach falsch.

Egal ob ich nun per Zeos oder ADO auf 'ne FireBird-Datenbank zugreife: Die Syntax ist immer gleich, die SQLs kann ich 1:1 übernehmen.

Und nein: Die ADO-Schnittstelle sit nicht zwingend die Beste, aber sie ist für normale Anwendungen ausreichend gut und ausreichend verlässlich. Zumindest sind mir bisher keine Probleme beim Datenbankzugriff (egal auf welche DB) aufgefallen, die auf die ADO-Schnittstelle zurückzuführen wären.

Und ich schrieb genau deshalb:
Zitat:
Wenn alle Stricke reißen:
Also mögliche Lösung für den Fall, dass keine andere Lösung gefunden werden kann.

Die Zeos-Komponenten nutzen direkt die fbclient.dll von FireBird.

Bei der Verwendung der ADO-Schnittstelle nutzt man zuerst diese, die dann den ODBC-Treiber von Firebird nutzt, der dann mit Hilfe der fbclient.dll von FireBird auf die Datenbank zugreift. Man hat halt ein paar Schnittstellen mehr dazwischen, was für den Programmierer in Delphi absolut transparent ist.

In allen Fällen pappt man die Komponenten für die Datenbankschnittstelle auf's Formular (...) und arbeitet mit der Datenbank.
  Mit Zitat antworten Zitat