Connexion directe à un serveur de bases de données

De RAD Studio
Aller à : navigation, rechercher

Remonter à Architecture des bases de données


L'architecture de base de données la plus courante est celle dans laquelle l'ensemble de données utilise un composant connexion pour établir une connexion à serveur de bases de données. L'ensemble de données peut alors directement lire les données du serveur et y envoyer les modifications. Cette architecture est illustrée par la figure suivante.

Connexion directe au serveur de bases de données

DBDARCH3.jpg

Chaque type d'ensemble de données utilise son propre type de composant connexion, qui représente un mécanisme d'accès aux données unique :

  • Si l'ensemble de données est un ensemble de données ADO tel que TADODataSet, TADOTable, TADOQuery ou TADOStoredProc, le composant connexion est un objet ADOdb.TADOConnection. Pour connecter l'ensemble de données au composant connexion ADO, définissez sa propriété Connection. Comme pour les ensembles de données BDE, vous n'avez pas besoin d'ajouter explicitement le composant connexion : par contre, vous pouvez définir la propriété ConnectionString de l'ensemble de données.
  • Si l'ensemble de données est un ensemble de données dbExpress tel que TSQLDataSet, TSQLTable, TSQLQuery ou TSQLStoredProc, le composant connexion est un objet SQLExpr.TSQLConnection. Pour connecter l'ensemble de données au composant connexion SQL, définissez sa propriété SQLConnection. Lorsque vous utilisez des ensembles de données dbExpress, vous devez explicitement ajouter le composant connexion. En outre, les ensembles de données dbExpress présentent la particularité d'être toujours unidirectionnels et accessibles en lecture seule : Cela signifie que vous pouvez uniquement parcourir les enregistrements dans l'ordre et que vous ne pouvez pas utiliser les méthodes d'édition des ensembles de données.
  • Si l'ensemble de données est un ensemble de données InterBase Express tel que TIBDataSet, TIBTable, TIBQuery ou TIBStoredProc, le composant connexion est un objet IBX.IBDatabase.TIBDatabase. Pour connecter l'ensemble de données au composant base de données InterBase, définissez sa propriété Database. Comme dans le cas des ensembles de données dbExpress, vous devez explicitement ajouter le composant connexion.
  • Si l'ensemble de données est un ensemble de données BDE tel que TTable, TQuery ou TStoredProc, le composant connexion est un objet TDatabase. Pour connecter l'ensemble de données au composant base de données, définissez sa propriété Database. Vous n'avez pas besoin d'ajouter explicitement un composant base de données lorsque vous utilisez un ensemble de données BDE. Si vous définissez la propriété DatabaseName de l'ensemble de données, un composant base de données est automatiquement créé à l'exécution.

Outre les composants précédemment cités, vous pouvez utiliser un ensemble de données client spécialisé tel que TBDEClientDataSet, TSimpleDataSet ou TIBClientDataSet avec un composant connexion de base de données. Lorsque vous utilisez l'un de ces ensembles de données client, spécifiez le type approprié de composant connexion comme valeur de la propriété DBConnection.

Bien que chaque type d'ensemble de données utilise un composant connexion différent, ils effectuent tous la plupart des mêmes tâches et mettent à disposition la plupart des mêmes propriétés, méthodes et événements. Pour plus d'informations sur les points communs des différents composants connexion de base de données, voir Connexion aux bases de données.

Cette architecture représente une application à niveau unique ou une application à niveau double, selon que le serveur de base de données est une base de données locale ou un serveur de base de données distant. La logique qui manipule les informations de base de données figure dans l'application qui implémente l'interface utilisateur, tout en étant confinée dans un module de données.

Remarque :  Toutes les versions de Delphi ne proposent pas les pilotes ou composants connexion requis pour créer des applications à niveau double.

Voir aussi