Migration von dbExpress-Anwendungen (FireDAC)
Nach oben zu Migrieren von dbExpress-Anwendungen nach FireDAC
In diesem Beispiel wird Schritt für Schritt gezeigt, wie Sie die Delphi-Demoanwendung (MeetingOrganizer) nach FireDAC migrieren.
Die benötigen Dateien für diese Demoanwendung finden Sie in C:\Users\Public\Documents\Embarcadero\Studio\20.0\Samples\Object Pascal\Database\FireDAC\Tool\reFind\DBX2FDMigration\Demo
.
- Das Hilfsprogramm migrate.bat befindet sich im Stammordner.
- Die Demoanwendung MeetingOrganizer befindet sich im Ordner
Forms
. - Die MEETINGORGANIZER.GDB befindet sich im Ordner
Database
. - Die dbExpress-Verbindungsdatei (dbxconnections.ini) befindet sich im Stammordner.
Inhaltsverzeichnis
- 1 Schritt 1: Ausführen des Hilfsprogramms Migrate.bat
- 2 Schritt 2: Festlegen einer persistenten FireDAC-Verbindungsdefinition
- 3 Schritt 3: Vorbereiten der FireDAC-Anwendung für die Ausführung
- 4 Schritt 4: Festlegen von Verbindungsparametern
- 5 Schritt 5: Festlegen der Kompatibilität von Datentypzuordnungen
- 6 Schritt 6: Ausführen der migrierten Demo MeetingOrganizer
- 7 Siehe auch
Schritt 1: Ausführen des Hilfsprogramms Migrate.bat
So führen Sie das Hilfsprogramm migrate.bat aus:
- Wechseln Sie zum Ordner
C:\Users\Public\Documents\Embarcadero\Studio\20.0\Samples\Object Pascal\Database\FireDAC\Tool\reFind\DBX2FDMigration\Demo
. - Doppelklicken Sie auf die Anwendung migration.bat.
Das Hilfsprogramm migrate.bat erstellt im Ordner Forms
den neuen Ordner FireDAC_MeetingOrg
und kopiert die migrierten Dateien der dbExpress-Anwendung in den Ordner FireDAC_MeetingOrg
. Die Originalquelltextdateien der Anwendung MeetingOrganizer werden im Originalordner beibehalten.
Das Hilfsprogramm migrate.bat führt das RAD Studio-Tool reFind aus, um die dbExpress-Begriffe der Anwendung durch die FireDAC-Entsprechungen zu ersetzen.
Schritt 2: Festlegen einer persistenten FireDAC-Verbindungsdefinition
Die originale MO-dbExpress-Verbindung ist in der Datei dbxconnections.ini definiert. Sie müssen dieselbe FireDAC-Verbindungsdefinition für die MeetingOrganizer-Demo erstellen.
Um eine neue persistente FireDAC-Verbindungsdefinition zu erstellen, können Sie entweder den FireDAC-Explorer verwenden oder die Datei FDConnectionDefs.ini bearbeiten.
- Erstellen Sie eine neue FireDAC-Verbindungsdefinition.
- Legen Sie die folgenden Felder der Verbindung fest:
- Name:
MO
- DriverID:
IB
- Database:
C:\Data\MEETINGORGANIZER.GDB
- User_Name:
sysdba
- Password:
masterkey
- Name:
- Speichern Sie die neue Verbindungsdefinition.
- Wechseln Sie zum Ordner
C:\Users\Public\Documents\Embarcadero\Studio\20.0\Samples\Object Pascal\Database\FireDAC\Tool\reFind\DBX2FDMigration\Demo\Database
. - Kopieren Sie die InterBase-Datenbank MEETINGORGANIZER.GDB nach
C:\Data\MEETINGORGANIZER.GDB
.
Dies ist die einfachste Verbindungsdefinition für die MeetingOrganizer-Anwendung in der FDConnectionDefs.ini-Datei:
[MO]
DriverID=IB
Database=C:\Data\MEETINGORGANIZER.GDB
User_Name=sysdba
Password=masterkey
- Hinweis: Sie müssen RAD Studio schließen.
Schritt 3: Vorbereiten der FireDAC-Anwendung für die Ausführung
Sie müssen Ihrer Anwendung einen DBMS-spezifischen FireDAC-Treiber und die benötigten Units (für die Interfaces IFDGUIxWaitCursor und IFDPhysDriver) hinzufügen.
Für die Beispielanwendung MeetingOrganizer wird InterBase in einer FireMonkey-Anwendung verwendet:
- Wechseln Sie zum Ordner
C:\Users\Public\Documents\Embarcadero\Studio\20.0\Samples\Object Pascal\Database\FireDAC\Tool\reFind\DBX2FDMigration\Demo\Forms
. - Öffnen Sie das Projekt MeetingOrganizer.dproj.
- Öffnen Sie in der IDE die Unit-Datei uMainDM.pas.
- Fügen Sie Ihrem Projekt eine TFDPhysIBDriverLink-Komponente hinzu.
- Fügen Sie eine TFDGUIxWaitCursor-Komponente hinzu.
Schritt 4: Festlegen von Verbindungsparametern
Nehmen Sie in der Datei uMainDM.pas die folgenden Änderungen vor:
- Wählen Sie die SQLConnection-TFDConnection-Komponente aus.
- Ändern Sie im Objektinspektor den Wert von ConnectionDefName in MO.
- Öffnen Sie die DFM- oder FMX-Datei in einem Texteditor, oder drücken Sie Alt+F12.
- Konfigurieren Sie die TFDConnection-Komponente im Datenmodul (ändern Sie die vorhandenen dbExpress-
Params.Strings
).- Setzen Sie ConnectionDefName auf die erstellte InterBase-Verbindungsdefinition, und ändern Sie den Benutzernamen und das Passwort entsprechend.
Params.Strings = ( 'ConnectionDef=MO' 'Database=C:\Data\MeetingOrganizer.gdb' 'User_Name=sysdba' 'Password=masterkey')
- Wechseln Sie zum Quelltext-Editor, oder drücken Sie F12.
- Kommentieren Sie die Implementierung der Prozedur SQLConnectionBeforeConnect aus:
procedure TMainDM.SQLConnectionBeforeConnect(Sender: TObject); begin // SQLConnection.LoadParamsFromIniFile // (IncludeTrailingPathDelimiter(ExtractFilePath(Application.ExeName)) + // 'dbxconnections.ini'); end;
Schritt 5: Festlegen der Kompatibilität von Datentypzuordnungen
Der InterBase-dbExpress-Treiber und FireDAC-InterBase-Treiber verwenden die gleichen Datentypzuordnungen. Die einzige Ausnahme stellt "[VAR]CHAR(N) CHARACTER SET OCTETS" dar:
- dbExpress ordnet diesen Datentyp zu ftString/ftWideString zu.
- FireDAC ordnet diesen Datentyp zu ftBytes/ftVarBytes zu.
Trotzdem können Zuordnung und Verhalten in anderen Bereich geringfügig abweichen. So vereinheitlichen Sie Zuordnung und Verhalten:
- Wählen Sie die SQLConnection-TFDConnection-Komponente in der Datei uMainDM.pas aus.
- Im Objektinspektor:
- Setzen Sie die Eigenschaft FormatOptions.DataSnapCompatibility auf
True
. - Setzen Sie im die Eigenschaft FormatOptions.StrsTrim auf
False
(der Vorgabewert für diese Eigenschaft ist nicht mit dbExpress kompatibel).
- Setzen Sie die Eigenschaft FormatOptions.DataSnapCompatibility auf
Schritt 6: Ausführen der migrierten Demo MeetingOrganizer
Mit der Anwendung MeetingOrganizer können Sie Meetings für die registrierten Benutzer Ihrer Anwendung in registrierten Räumen organisieren. Verwenden Sie die Anwendung MeetingOrganizer, um die Informationen Ihrer Benutzer, Konferenzräume und Meeting-Räume zu registrieren und zu ändern.
- Wählen Sie Start, oder drücken Sie F9, um die Anwendung auszuführen.
- Verwenden Sie für die Anmeldung bei der Anwendung MeetingOrganizer den folgenden registrierten Testbenutzer:
- User Login:
borland
- Password:
borland
- User Login:
- Hinweis: Dabei handelt es sich nicht um Ihren Benutzer für den Zugriff auf MEETINGORGANIZER.GDB, sondern um einen registrierten Benutzer der Anwendung MeetingOrganizer.