Travailler avec firebird 3 embarqué et Delphi Tokyo Firedac
par
, 10/11/2017 à 12h43 (2256 Affichages)
Pour pourvoir utiliser Firebird 3 embarqué il nous réunir plusieurs choses:
- un répertoire firebird 3
- un outil SQL ( facultatif )
et Delphi.
Firebird 3
- Télécharger le Firebird-3.0.2.32703-0_x64_pdb.zip ou la dernière version mais .zip a https://www.firebirdsql.org/en/firebird-3-0/#Win64.
- dézipper le.
- Créer un répertoire bin à l'intérieur.
- Metter tout le contenu de Firebird à l'intérieur du bin
vous devrier avoir quelque chose comme l'image ci-dessous
- télécharger aussi Firebird-3.0.2.32703-0_Win32_pdb.zip
- dezziper le et mettez un répertoire ou bon vous semble
Delphi
Créer une nouvelle application vcl ou fmx
ajouter win64 comme platerforme cible, win32 fonctionne aussi, mais il faut mettre le contenu de Firebird dans le bin répertoire enfant de VendorHome
Ajouter un datamodule
Ajouter un composant TFDPhysFBDriverLink sur la form
Dans l'inspecteur d'objet
Metter un nom au DriverID je met FB30
Pour VendorHome je le règle sur le répertoire de Firebird dont le contenu est déplacé dans bin. chez moi : C:\Users\andre\Documents\Embarcadero\Studio\Projets\Pilotage_Transports_Tokyo_2017\Firebird-3.0.2.32703-0_x64_pdb
Dans VendorLib j'écris: fbclient.dll
Ajoutons sur notre form un composant TfdConnction
On double clique dessus
On choisi l'ID du pilote que nous venons de créer
dans Database on note notre base : C:\USERS\ANDRE\DOCUMENTS\EMBARCADERO\STUDIO\PROJETS\DEMOFB3\WIN64\DEBUG\MABASE.FB
pour UserName on note : SYSDBA
Réglons le characterSet sur UTF8
Dans le datamodule ajoutons un composant TFDTransaction, et un composant TFDScript.
Dans l'éditeur de propriété du composant TFdScript, double cliquons sur SQLScripts.
Dans la fenêtre qui s'est ouverte ajoutons un script.
Dans l'editeur de propriété doucle clic sur SQL.
Ecrivons :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 CREATE DATABASE 'C:\USERS\ANDRE\DOCUMENTS\EMBARCADERO\STUDIO\PROJETS\DEMOFB3\WIN64\DEBUG\MABASE.FB' USER 'SYSDBA' PAGE_SIZE 4096 DEFAULT CHARACTER SET UTF8 COLLATION UTF8;
sur la form principale,
Puis ajoutons notre datamodule dans les Uses de l'unité main
Ajoutons un bouton
puis le code suivant
Code delphi : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 try try DataModule3.FDScript1.ExecuteAll; finally if DataModule3.FDScript1.TotalErrors > 0 then DataModule3.FDConnection1.Rollback else DataModule3.FDConnection1.Commit; end; DataModule3.FDConnection1.Connected:= True; ShowMessage('cool ca marche'); except on E:Exception do begin ShowMessage('beurk erreur: '+ e.Message); end; end;;
C'est fini. Rien de plus juste le répertoire de firebird et Delphi
Pourgerer sa base on peut utiliser:
Un Outil SQL
- j'utilise 'sql manager' gratuit mais vous pouvez utiliser celui qui vous va bien
- télécharger le ici : https://www.sqlmanager.net/fr/produc...nager/download
- j'ai installé la version : EMS SQL Manager for InterBase/Firebird Freeware
- lancer sql manager
- Aller dans le menu Database\ register Host
Régler le protocole sur Embedded
Regler le client Library sur fbclient.dll que nous avons mis précédemment dans notre répertoire bin de Firebird 3 32 bit
chez moi ça donne : C:\Users\andre\Documents\Embarcadero\Studio\Projets\Pilotage_Transports_Tokyo_2017\Firebird-3.0.1.32609-0_Win32\bin\fbclient.dll
Puis cliquer sur next et run
dans la liste des database nous avons une icône Embedded qui apparaît.
Clic droit sur l'icone Embedded, Register Database.
Suivre le menu.
Pour créer une base de données avec SQL Manager:
Clic droit dessus => Create database
Next, Dans full quality database file path mettez par exemple : C:\USERS\ANDRE\DOCUMENTS\EMBARCADERO\STUDIO\PROJETS\DEMOFB3\WIN6\DEBUG\MABASE0.FB
Régler le charset sur UTF8 ou celui qui vous plais.
next puis run
Un nouvel icône apparaît mabase0 on Embedded
Ma base est créée, je peux la gérer.
remarque:
<C:> est une mauvaise idée pour créer sa base.
Avec fb25 Embedded et une plateforme cible win32 on peux tester sa connexion depuis l'IDE.