Migration d'applications dbExpress (FireDAC)
Remonter à Migration des applications dbExpress vers FireDAC
Cet exemple explique étape par étape la migration de l'application démo Delphi (MeetingOrganizer) vers FireDAC.
Les fichiers utilisés dans cette application démo se trouvent dans C:\Utilisateurs\Public\Documents\Embarcadero\Studio\22.0\Samples\Object Pascal\Database\FireDAC\Tool\reFind\DBX2FDMigration\Demo
.
- L'utilitaire migrate.bat se trouve dans le dossier racine.
- L'application démo MeetingOrganizer se trouve dans le dossier
Forms
. - MEETINGORGANIZER.GDB se trouve dans le dossier
Database
. - Le fichier de connexion dbExpress (dbxconnections.ini) se trouve dans le dossier racine.
Sommaire
- 1 Etape 1 : Exécution de l'utilitaire Migrate.bat
- 2 Etape 2 : Définition d'une définition de connexion FireDAC persistante
- 3 Etape 3 : Préparation de votre application FireDAC pour l'exécution
- 4 Etape 4 : Configuration des paramètres de connexion
- 5 Etape 5 : Définition de la compatibilité des mappages des types de données
- 6 Etape 6 : Exécution de la démo migrée MeetingOrganizer
- 7 Voir aussi
Etape 1 : Exécution de l'utilitaire Migrate.bat
Pour exécuter l'utilitaire migrate.bat :
- Accédez au dossier
C:\Utilisateurs\Public\Documents\Embarcadero\Studio\22.0\Samples\Object Pascal\Database\FireDAC\Tool\reFind\DBX2FDMigration\Demo
. - Double-cliquez sur l'application migration.bat.
L'utilitaire migrate.bat crée un nouveau dossier sous le dossier Forms
, appelé FireDAC_MeetingOrg
, et copie les fichiers migrés de l'application dbExpress dans le dossier FireDAC_MeetingOrg
. Les fichiers source originaux de l'application MeetingOrganizer sont conservés dans le dossier d'origine.
L'utilitaire migrate.bat exécute l'outil reFind de RAD Studio afin de remplacer les termes dbExpress de l'application par leurs équivalents FireDAC.
Etape 2 : Définition d'une définition de connexion FireDAC persistante
La connexion dbExpress MO originale est définie dans le fichier dbxconnections.ini. Vous devez créer la même définition de connexion FireDAC pour la démonstration MeetingOrganizer.
Pour créer une nouvelle définition de connexion FireDAC persistante, vous pouvez au choix utiliser l'explorateur FireDAC ou modifier le fichier FDConnectionDefs.ini.
- Créez une nouvelle définition de connexion FireDAC.
- Définissez les champs suivants de la connexion :
- Name :
MO
- DriverID :
IB
- Database :
C:\Data\MEETINGORGANIZER.GDB
- User_Name :
sysdba
- Password :
masterkey
- Name :
- Enregistrez la nouvelle définition de connexion.
- Accédez au dossier
C:\Utilisateurs\Public\Documents\Embarcadero\Studio\22.0\Samples\Object Pascal\Database\FireDAC\Tool\reFind\DBX2FDMigration\Demo\Database
- Copiez la base de données MEETINGORGANIZER.GDB d'Interbase vers
C:\Data\MEETINGORGANIZER.GDB
Voici la définition de connexion la plus simple pour l'application MeetingOrganizer dans le fichier FDConnectionDefs.ini :
[MO]
DriverID=IB
Database=C:\Data\MEETINGORGANIZER.GDB
User_Name=sysdba
Password=masterkey
- Remarque : Vous devez fermer RAD Studio.
Etape 3 : Préparation de votre application FireDAC pour l'exécution
Vous devez ajouter un pilote FireDAC spécifique au SGBD à votre application ainsi que les unités nécessaires (pour les interfaces IFDGUIxWaitCursor et IFDPhysDriver).
L'application exemple MeetingOrganizer utilise InterBase dans une application FireMonkey :
- Accédez au dossier
C:\Utilisateurs\Public\Documents\Embarcadero\Studio\22.0\Samples\Object Pascal\Database\FireDAC\Tool\reFind\DBX2FDMigration\Demo\Forms
. - Ouvrez le projet MeetingOrganizer.dproj.
- Dans l'EDI, ouvrez le fichier de l'unité uMainDM.pas.
- Déposez un composant TFDPhysIBDriverLink sur votre projet.
- Déposez un composant TFDGUIxWaitCursor.
Etape 4 : Configuration des paramètres de connexion
Effectuez les modifications suivantes dans le fichier uMainDM.pas :
- Sélectionnez le composant SQLConnection TFDConnection.
- Dans l'inspecteur d'objets, modifiez la valeur de ConnectionDefName en MO.
- Ouvrez le fichier .dfm ou .fmx avec un éditeur de texte ou appuyez sur Alt+F12.
- Configurez le composant TFDConnection dans le module de données (modifiez le
Params.Strings
dbExpress existant).- Définissez ConnectionDefName sur la définition de connexion InterBase que vous avez créée et remplacez le nom d'utilisateur et le mot de passe par ceux qui conviennent.
Params.Strings = ( 'ConnectionDef=MO' 'Database=C:\Data\MeetingOrganizer.gdb' 'User_Name=sysdba' 'Password=masterkey')
- Accédez à l'éditeur de code ou appuyez sur F12.
- Commentez l'implémentation de la procédure SQLConnectionBeforeConnect :
procedure TMainDM.SQLConnectionBeforeConnect(Sender: TObject); begin // SQLConnection.LoadParamsFromIniFile // (IncludeTrailingPathDelimiter(ExtractFilePath(Application.ExeName)) + // 'dbxconnections.ini'); end;
Etape 5 : Définition de la compatibilité des mappages des types de données
Les pilotes InterBase dbExpress et InterBase FireDAC ont les mêmes mappages de types de données. La seule exception est "[VAR]CHAR(N) CHARACTER SET OCTETS" :
- dbExpress le mappe en ftString / ftWideString.
- FireDAC le mappe en ftBytes / ftVarBytes.
Le mappage et le comportement peuvent également être légèrement différents dans d'autres zones. Pour les unifier :
- Sélectionnez le composant SQLConnection TFDConnection dans le fichier uMainDM.pas.
- Dans l'inspecteur d'objets :
- Définissez la propriété FormatOptions.DataSnapCompatibility sur
True
. - Définissez la propriété FormatOptions.StrsTrim sur
False
(la valeur par défaut de cette propriété est incompatible avec dbExpress).
- Définissez la propriété FormatOptions.DataSnapCompatibility sur
Etape 6 : Exécution de la démo migrée MeetingOrganizer
L'application MeetingOrganizer vous permet d'organiser des réunions des utilisateurs enregistrés de votre application dans des salles enregistrées. Utilisez l'application MeetingOrganizer pour enregistrer et modifier les informations relatives à vos utilisateurs, salles de conférence et salles de réunion.
- Pour exécuter l'application, choisissez Exécuter ou appuyez sur F9.
- Pour vous connecter à l'application MeetingOrganizer, utilisez l'utilisateur test enregistré suivant :
- User Login:
borland
- Password :
borland
- User Login:
- Remarque : Ce n'est pas votre utilisateur qui accède à MEETINGORGANIZER.GDB, mais un utilisateur enregistré pour l'application MeetingOrganizer.