Eine direkte Verbindung zu einem Datenbankserver einrichten

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Datenbankarchitektur


Die gebräuchlichste Datenbankarchitektur sieht vor, dass die Datenmenge eine Verbindungskomponente verwendet, um eine Verbindung zu einem Datenbankserver einzurichten. Die Datenmenge ruft Daten direkt vom Server ab und schreibt Änderungen direkt auf den Server. Dies ist in folgender Abbildung dargestellt:

Direkte Verbindung zu einem Datenbankserver

dbdarch3.jpg

Jeder Datenmengentyp verwendet einen eigenen Verbindungskomponententyp, der einen einzelnen Datenzugriffsmechanismus darstellt:

  • Handelt es sich um eine ADO-Datenmenge, wie beispielsweise TADODataSet, TADOTable, TADOQuery oder TADOStoredProc, ist die Verbindungskomponente ein ADOdb.TADOConnection-Objekt. Sie verbinden die Datenmenge mit der ADO-Verbindungskomponente, indem Sie ihre Eigenschaft Connection setzen. Wie bei BDE-Datenmengen brauchen Sie die Verbindungskomponente nicht explizit hinzuzufügen; stattdessen setzen Sie die Eigenschaft ConnectionString der Datenmenge.
  • Handelt es sich um eine dbExpress-Datenmenge, wie beispielsweise TSQLDataSet, TSQLTable, TSQLQuery oder TSQLStoredProc, ist die Verbindungskomponente ein SQLExpr.TSQLConnection-Objekt. Sie verbinden die Datenmenge mit der SQL-Verbindungskomponente, indem sie ihre Eigenschaft SQLConnection setzen. Wenn Sie dbExpress-Datenmengen verwenden, müssen Sie die Verbindungskomponente explizit hinzufügen. Ein weiterer Unterschied zwischen dbExpress-Datenmengen und den anderen Datenmengen ist, dass dbExpress-Datenmenge immer schreibgeschützt und unidirektional sind. Das bedeutet, Sie können sich nur darin bewegen, indem Sie die Datensätze der Reihe nach durchlaufen, und Sie können die Datenmengenmethoden nicht verwenden, die eine Bearbeitung unterstützen.
  • Handelt es sich um eine InterBase Express-Datenmenge, wie beispielsweise TIBDataSet, TIBTable, TIBQuery oder TIBStoredProc, ist die Verbindungskomponente ein IBX.IBDatabase.TIBDatabase-Objekt. Sie verbinden die Datenmenge mit der IB-Datenbankkomponente, indem Sie ihre Eigenschaft Database setzen. Wie bei dbExpress-Datenmengen müssen Sie die Verbindungskomponente explizit hinzufügen.
  • Falls es sich um eine BDE-Datenmenge handelt, wie beispielsweise TTable, TQuery oder TStoredProc, ist die Verbindungskomponente ein TDatabase-Objekt. Sie verbinden die Datenmenge mit der Datenbankkomponente, indem Sie ihre Eigenschaft Database setzen. Bei Verwendung einer BDE- Datenmenge brauchen Sie nicht explizit eine Datenbankkomponente hinzuzufügen. Wenn Sie die Eigenschaft DatabaseName der Datenmenge gesetzt haben, wird für Sie zur Laufzeit automatisch eine Datenbankkomponente angelegt.

Neben den oben aufgelisteten Komponenten können Sie eine spezialisierte Client-Datenmenge, wie beispielsweise TBDEClientDataSet, TSQLClientDataSet oder TIBClientDataSet, mit einer Datenbankverbindungskomponente verwenden. Wenn Sie eine der Client-Datenmengen verwenden, geben Sie den entsprechenden Verbindungskomponententyp als Wert der Eigenschaft DBConnection an.

Obwohl alle Datenmengentypen unterschiedliche Verbindungskomponenten verwenden, führen viele davon dieselben Aufgaben aus und weisen größtenteils dieselben Eigenschaften, Methoden und Ereignisse auf. Weitere Informationen über die Gemeinsamkeiten zwischen den verschiedenen Verbindungskomponenten finden Sie unter Verbindungen zu Datenbanken einrichten.

Diese Architektur stellt entweder eine einschichtige oder eine zweischichtige Anwendung dar, abhängig davon, ob es sich um einen lokalen oder einen externen Datenbankserver handelt. Die Logik, die Datenbankinformationen bearbeitet, ist in derselben Anwendung enthalten, die die Benutzeroberfläche implementiert, dort jedoch in einem Datenmodul isoliert.

Hinweis: Die für zweischichtige Anwendungen benötigten Verbindungskomponenten oder Treiber stehen nicht in allen Delphi-Versionen zur Verfügung.

Siehe auch