Tutoriel : Utilisation de FireDAC depuis une application multi-périphérique sur les plates-formes de bureau

De RAD Studio
Aller à : navigation, rechercher

Remonter à Tutoriels Bases de données et LiveBindings

Ce tutoriel décrit les étapes de base permettant de parcourir les données gérées par InterBase ToGo sur Windows et Mac, à travers le framework FireDAC.

Conseil : Pour suivre ce tutoriel, vous devez disposer d'une licence pour IBToGo. Si vous utilisez une version d'évaluation et que vous souhaitez tester InterBase sur Mac, vous pouvez obtenir un accès à une licence IBToGo Test Deployment pendant votre période d'évaluation. Pour activer votre licence d'évaluation de déploiement, cliquez sur le lien suivant : InterBase ToGo Deployment (EN).

Utilisation de FireDAC pour se connecter à la base de données

FireDAC est un ensemble unique de composants d'accès aux données universel conçus pour le développement d'applications de bases de données multiplates-formes pour Delphi, C++Builder, et FreePascal. Grâce à son architecture commune, FireDAC permet un accès direct, rapide et natif de Delphi vers InterBase, SQLite, MySQL, SQL Server, Oracle, PostgreSQL, IBM DB2, SQL Anywhere, Access, Firebird, Informix, et bien d'autres.

Le pilote natif FireDAC InterBase prend en charge Embarcadero InterBase éditions Server, Desktop, Developer, ToGo, et IBLite version 6 et ultérieure.

  • Pour parcourir les données gérées par Interbase ToGo sur Windows, FireDAC requiert l'installation des logiciels client x86 ou x64 suivants sur la station de travail :
    • La bibliothèque IBTOGO.DLL fonctionne avec une base de données en utilisant InterBase ToGo ou IBLite incorporé à partir des applications x86.
    • La bibliothèque IBTOGO64.DLL fonctionne avec une base de données en utilisant InterBase ToGo ou IBLite incorporé à partir des applications x64.
  • Pour parcourir les données managées par Interbase ToGo sur macOS, FireDAC requiert InterBase incorporé libibtogo.dylib x86.

Conception et configuration de l'interface utilisateur

Créez un nouveau projet. Choisissez une Application HD multi-périphérique.

  1. Déposez un composant TFDConnection sur la fiche.
  2. Cliquez avec le bouton droit sur le composant TFDConnection et choisissez Editeur de connexion.
  3. Dans l'éditeur de connexion FireDAC, définissez les paramètres suivants du composant TFDConnection:
    1. Définissez la propriété Driver ID sur IB.
    2. Définissez le paramètre Database sur C:\Utilisateurs\Public\Documents\Embarcadero\Studio\23.0\Samples\Data\EMPLOYEE.GDB (emplacement de la base de données).
    3. Définissez le paramètre User_name sur sysdba.
    4. Définissez le paramètre Password sur masterkey.
      Connection editor.png

    5. Cliquez sur le bouton Tester pour tester la connexion.
      Test connection success.png

    6. Cliquez sur OK pour fermer l'éditeur de connexion.
  4. Dans l'inspecteur d'objets, définissez les propriétés suivantes du TFDConnection :
    1. Définissez la propriété LoginPrompt sur False, afin que l'utilisateur ne reçoive pas une invite de connexion.
    2. Définissez la propriété Connected sur True.

Utilisation de l'expert LiveBindings

Utilisez l'expert LiveBindings pour ajouter les composants LiveBindings (TBindSourceDB, TBindNavigator), TFDQuery, et le composant Grid.

Ajouter les composants LiveBindings

  1. Sélectionnez Voir > Concepteur LiveBindings et le Concepteur LiveBindings s'ouvre.
  2. Sélectionnez l'expert LiveBindings (LBDLiveBindingsWizard.png).
    Livebinding designer1.png

  3. Sur la page Tâche de liaison de l'expert, sélectionnez Créer une source de données et cliquez sur Suivant.
  4. Sur la page Source de données, sélectionnez FireDAC et cliquez sur Suivant.
  5. Définissez Type de la commande sur Query.
  6. Définissez la propriété Texte de la commande sur select * from employee.
    Livebinding wizard.png

  7. Cliquez sur le bouton Tester la commande.
  8. Cliquez sur le bouton Suivant.
  9. Sélectionnez Ajouter un navigateur de source de données.
  10. Cliquez sur le bouton Terminer.

A ce stade, les composants TBindSourceDB, TBindNavigator, et TFDQuery ont été ajoutés à votre fiche.

Ajouter le composant Grille

  1. Rouvrez Expert LiveBindings|l'expert LiveBindings.
  2. Sélectionnez la tâche de liaison Lier une grille à une source de données.
    Livebinding wizard.1.png

  3. Cliquez sur le bouton Suivant.
  4. Sélectionnez TSringGrid.
  5. Cliquez sur le bouton Suivant.
  6. Sélectionnez BindSourceDB1.
  7. Cliquez sur le bouton Terminer pour fermer l'expert.

Votre diagramme de liaison doit ressembler à celui de l'image suivante :
Diagram.png

Préparation de votre application pour l'exécution

FireDAC a une architecture multi-couches, associée de manière souple, dans laquelle les couches fournissent des services. Une API de services est une interface COM à laquelle d'autres couches accèdent en utilisant la fabrique d'interfaces.

Pour que FireDAC opère correctement, vous devez lier l'implémentation des interfaces IFDGUIxWaitCursor et IFDPhysDriver à votre application.

  1. Sélectionnez NavigatorBindSourceDB1 et définissez la propriété Align sur Top.
  2. Sélectionnez le StringGridBindSourceDB1 et définissez la propriété Align sur Client.
  3. Déposez les composants TFDGUIxWaitCursor et TFDPhysIBDriverLink sur la fiche.
    FormComponentsAdded.png

Déploiement de votre application sur macOS

Jusqu'ici, vous avez utilisé InterBase sur votre bureau. Cela signifie que la base de données réelle est située sur votre disque dur local (par exemple, C:\Utilisateurs\Public\Documents\Embarcadero\Studio\23.0\Samples\Data\EMPLOYEES.GDB). Pour déployer l'application sur macOS, vous devez copier le fichier de base de données sur le système de fichiers Mac OS (par exemple, /Users/<utilisateur>/EMPLOYEE.GDB). Par ailleurs, les fichiers Interbase ToGo doivent être déployés sur macOS.

Déployer Interbase ToGo sur macOS

  1. Ouvrez le Gestionnaire de déploiement en sélectionnant Projet > Déploiement.
  2. Sélectionnez Toutes les configurations - Plate-forme macOS dans la liste déroulante des plates-formes cible en haut du Gestionnaire de déploiement.
  3. Sélectionnez Ajouter des fichiers spécifiques (DMgrAddFeatFiles.png):
    AddingFeaturedFiles.png

  4. Sélectionnez le module de base de données Interbase ToGo, puis cliquez sur OK pour fermer la boîte de dialogue Fichiers spécifiques :
    Featured files.png

    Il se peut que Embarcadero vous ait envoyé un fichier licence pour ToGo ayant un modèle tel que reg_nnnnnnn.txt, où nnnnnnn est un nombre généré :
    • Si vous avez enregistré ce fichier sous le nom reg_ibtogo.txt (à l'emplacement ci-dessous C:\Utilisateurs\Public\Documents\Embarcadero\InterBase\redist\InterBase2020), il vous suffit de sélectionner la licence voulue.
    • Si vous avez enregistré le fichier sous son nom original, sélectionnez Ajouter des fichiers et incluez le fichier licence dans la liste des fichiers devant être déployés avec l'application.

Modifier votre code pour établir une connexion à un fichier de base de données sur macOS

Comme décrit dans les étapes précédentes, le composant TFDConnection est connecté à une base de données sur Windows. Vous devez donc remplacer l'emplacement du fichier avant d'établir la connexion à la base de données, comme suit :

  1. Dans le Concepteur de fiches, sélectionnez le composant FDConnection1.
  2. Dans l'inspecteur d'objets, double-cliquez sur le champ Valeur de l'événement BeforeConnect.
  3. Ajoutez le code suivant à ce gestionnaire d'événement :
Delphi :
procedure TForm9.FDConnection1BeforeConnect(Sender: TObject);
begin
{$IFDEF MACOS}
  FDConnection1.Params.Values['Database']:= '$(DOC)/EMPLOYEE.GDB';
{$ENDIF}
end;
C++Builder :
void __fastcall TForm9::FDConnection1BeforeConnect(TObject *Sender) {
#ifdef __MACOS__
 FDConnection1->Params->Values["Database"] = "$(DOC)/EMPLOYEE.GDB";
#endif
}

Notez que $(DOC) est une variable chemin, vous permettant de simplifier l'écriture des expressions chemin. Sur macOS, la variable $(DOC) pointe sur le répertoire de base de l'utilisateur (/Users/<utilisateur>).

Exécuter votre application sur Windows et macOS

Votre application est maintenant prête pour l'exécution. Vous devriez être en mesure de parcourir les données de la même façon que dans l'EDI. Vous pouvez aussi utiliser le composant TBindNavigator pour modifier les enregistrements de votre base de données.

Pour exécuter votre application

  1. Dans le Gestionnaire de projets, sélectionnez votre plate-forme cible.
    Projects1.png
  2. Choisissez l'une des commandes suivantes :
    • Exécuter > Exécuter
    • Exécuter > Exécuter sans débogage


RunTimeMac.png

Voir aussi