Connexion à Firebird (FireDAC)

De RAD Studio
Aller à : navigation, rechercher

Remonter à Connectivité des bases de données (FireDAC)

Cette rubrique explique comment établir la connexion à une base de données Firebird.

Versions prises en charge

Le pilote natif FireDAC prend en charge le serveur Firebird et les éditions incorporées version 1.5 et ultérieure. Il ne supporte pas officiellement Jaffil.

Pour établir une connexion à InterBase, utilisez le pilote InterBase de FireDAC.

Depuis RAD Studio 11.1, FireDAC améliore le pilote Firebird 4 grâce à la prise en charge de types de données supplémentaires :

  • INT128
  • NUMERIC avec précision 19..38
  • TIME WITH TIME ZONE, TIMESTAMP WITH TIME ZONE (limité)
  • DECFLOAT(16/34)
  • Délai d'attente de l'instruction native

Logiciel client

Logiciel client Windows

FireDAC requiert l'installation des logiciels client x86 ou x64 suivants sur la station de travail :

  • La bibliothèque FBCLIENT.DLL pour établir la connexion au serveur Firebird. Vous pouvez la récupérer dans le dossier Bin d'installation d'un serveur (télécharger (EN)).
  • La bibliothèque FBEMBED.DLL pour le fonctionnement avec la base de données à l'aide du serveur incorporé Firebird (informations détaillées (EN)).
Remarque: Il est essentiel d'utiliser le fichier DLL approprié pour la bibliothèque client SGBD. N'utilisez pas GDS32.DLL avec Firebird ou FBCLIENT.DLL avec InterBase.

Vous pouvez placer les fichiers requis dans :

  • un dossier inclus dans votre variable d'environnement PATH (par exemple, <Windows>\SYSTEM32).
  • le dossier EXE de votre application.

Sinon, vous pouvez placer les fichiers nécessaires dans tout autre dossier et spécifier leur chemin d'accès dans FDDrivers.ini :

[FB]
VendorLib=<folder>\fbclient.dll

Si la bibliothèque client Firebird n'a pas été installée correctement, une exception est déclenchée lorsque vous tentez d'établir une connexion :

[FireDAC][Phys][FB]-314. Cannot load vendor library [fbclient.dll]. The specified module could not be found. Check [fbclient.dll], which is located in one of the PATH directories or in the application EXE directory.

Logiciel client macOS

FireDAC requiert :

La bibliothèque client libfbclient.dylib x86 est utilisée pour établir la connexion au serveur Firebird. Vous pouvez la récupérer dans le dossier d'installation d'un serveur (télécharger) : /Library/Frameworks/Firebird.framework/Versions/A/Resources/lib/

Deux bibliothèques sont indispensables :

  • /Library/Frameworks/Firebird.framework/Versions/A/Resources/lib/libfbclient.dylib
  • /Library/Frameworks/Firebird.framework/Versions/A/Resources/lib/libtommath.dylib

Logiciel client Linux

FireDAC requiert la bibliothèque client the Firebird. Pour l'installer, procédez comme suit :

  1. Sur Ubuntu Server 16.04 LTS, exécutez :
    sudo apt-get install libfbclient2
    sudo ln -s /usr/lib/x86_64-linux-gnu/libfbclient.so.2 /usr/lib/x86_64-linux-gnu/libfbclient.so
    
  2. Sur Red Hat Enterprise Linux 7, exécutez :
    sudo yum install firebird-libfbclient
    sudo ln -s /usr/lib64/libfbclient.so.2 /usr/lib64/libfbclient.so
    

Liaison du pilote

Pour lier le pilote :

Paramètres de définition de la connexion

Pour établir la connexion au SGBD Firebird, la plupart des applications imposent que vous spécifiiez les paramètres de définition de connexion DriverID, Protocol, Server, Database, User_Name, Password et CharacterSet (voir Définition d'une connexion (FireDAC) pour plus d'informations).

DriverID=FB

Paramètre Description Valeur exemple
Database

Nom de la base de données à attacher. La valeur peut être :

  • le chemin d'accès au fichier de base de données.
  • le chemin d'accès complet à la base de données, y compris l'adresse du serveur.

Pour une base de données incorporée, le chemin d'accès peut inclure des variables relatives au chemin.

  • C:\ib\ADDEMO_IB2007.IB
  • 127.0.0.1:C:\ib\ADDEMO_IB2007.IB
  • \\MySrv\C:\ib\ADDEMO_IB2007.IB
OSAuthent

Contrôle le mode d'authentification :

  • Yes -- utiliser l'authentification Windows.
  • No -- utiliser l'authentification du SGBD. C'est la valeur par défaut.

Pour de plus amples informations, voir le fichier doc\README.trusted_authentication.txt.

Yes
User_Name Nom d'utilisateur. sysdba
Password Mot de passe utilisateur. masterkey
CharacterSet Spécifie le jeu de caractères à utiliser.
Nous vous recommandons fortement de définir explicitement le paramètre CharacterSet sur l'une des valeurs suivantes :
  • UTF8, si votre application doit prendre en charge Unicode. Pour des détails, voir Utilisation d'Unicode (FireDAC).
  • WIN1250 pour Europe centrale.
  • WIN1251 pour Cyrillique.
  • WIN1252 pour Europe de l'Ouest, Amérique.
  • et ainsi de suite.
WIN1252
ExtendedMetadata

Contrôle la description étendue des ensembles de résultats d'une requête :

  • True -- FireDAC obtient les noms de domaines des colonnes en plus des autres attributs de colonne. Si une colonne appartient à un domaine portant un nom tel que %BOOL%, elle est décrite en tant que dtBoolean. De même, si une table comporte un déclencheur INSERT qui lit une séquence unique et assigne sa valeur à une colonne unique, alors cette colonne est décrite en tant que auto-incrémentée. La définition de cette option sur True ralentit légèrement l'ouverture d'un ensemble de données.
  • False -- FireDAC utilise les informations restreintes relatives aux colonnes de requête. C'est la valeur par défaut.
False
Port

Port TCP/IP sur lequel le serveur Interbase écoute. Par défaut, il a une valeur égale à 3050. Quand il a une valeur différente, vous devez définir le paramètre "Port" sur la valeur requise.

3051
Protocol

Protocole utilisé pour établir la connexion au serveur de base de données. Il peut prendre l'une des valeurs suivantes :

  • Local -- établir une connexion à un serveur exécuté en local, à un serveur incorporé ou à un serveur utilisant un alias.
  • NetBEUI -- établir une connexion en utilisant le protocole Microsoft NetBIOS.
  • SPX -- établir une connexion en utilisant le protocole Novel SPX.
  • TCPIP -- établir une connexion en utilisant le protocole TCP/IP.

Si le paramètre Protocol est spécifié, FireDAC construit des chemins d'accès complets aux bases de données, en utilisant le format Protocol approprié et les valeurs des paramètres Server et Database.

TCPIP
Server Adresse du serveur auquel établir la connexion. La valeur du paramètre Server est utilisée uniquement si le paramètre Protocol est spécifié. Pour spécifier un numéro de port TCP/IP, utilisez la notation <host>/<port>.
  • 127.0.0.1
  • my_host/3055
SQLDialect Dialecte SQL à utiliser pour établir la connexion. La valeur par défaut est 3. 1
RoleName Nom du rôle par défaut. Admin
OpenMode

Spécifie le mode d'ouverture d'une base de données. Les modes suivants sont pris en charge :

  • Open -- ouvre un fichier de base de données existant spécifié dans le paramètre Database. Si la base de données spécifiée n'existe pas, l'application déclenche une exception. C'est la valeur par défaut.
  • Create -- crée une nouvelle base de données. Si la base de données spécifiée existe, l'application déclenche une exception.
  • OpenOrCreate -- ouvre une base de données existante ou crée une nouvelle base de données si celle spécifiée n'existe pas.
Open
DropDatabase

Contrôle la suppression d'une base de données existante :

  • Yes -- supprimer le fichier de base de données spécifié dans le paramètre Database, immédiatement après la fin de la connexion au serveur.
  • No -- ne pas supprimer. C'est la valeur par défaut.
Yes
PageSize Taille de page utilisée pour la nouvelle base de données créée si CreateDatabase = Yes. La valeur par défaut est 1024. 4096
IBAdvanced Liste de paramètres supplémentaires séparés par des ';'. Vous pouvez trouver la liste complète des paramètres pris en charge dans l'unité FireDAC.Phys.IBWrapper (voir le tableau constant DPBInfos). Vous pouvez trouver la description de chaque Code ainsi listé dans les manuels Interbase/Firebird.
GUIDEndian Définit comment la valeur GUID est représentée sur le client. Little

Connexions locales

Une chaîne de connexion locale est composée du chemin et du nom de fichier dans un format natif au système de fichiers utilisé sur la machine du serveur. La chaîne de connexion locale peut aussi être un alias de base de données défini dans database.configuration. Le format de l'alias dépend de la façon dont il est défini dans le fichier de configuration. Exemples :

  • zappa
  • blackjack.fdb
  • poker

Après avoir reçu une chaîne de connexion locale, le client FireBird tente d'incorporer directement la connexion dans le fichier de base de données.

Cas d'utilisation

  • Etablir une connexion à une base de données exécutée sur un serveur distant via le protocole TCP/IP :


DriverID=FB
Database=C:\fb\ADDEMO_FB21.FDB
Protocol=TCPIP
Server=FBSrv
User_Name=sysdba
Password=masterkey
CharacterSet=win1252
ExtendedMetadata=True
  • Etablir une connexion à une base de données exécutée sur un serveur distant via le protocole TCP/IP :


DriverID=FB
Database=FBSrv:C:\fb\ADDEMO_FB21.FDB
User_Name=sysdba
Password=masterkey
CharacterSet=utf8
  • Etablissez une connexion à une base de données exécutée sur un serveur distant via le protocole TCP/IP et activez la compression :


DriverID=FB
Database=FBSrv:C:\fb\ADDEMO_FB21.FDB
User_Name=sysdba
Password=masterkey
IBAdvanced=Config=WireCompression=true
  • Etablir une connexion à une base de données locale :


DriverID=FB
Database=C:\fb\ADDEMO_FB21.FDB
User_Name=sysdba
Password=masterkey
CharacterSet=win1251
  • Etablir une connexion à une base de données incorporée Firebird :

Déposez le composant TFDPhysFBDriverLink sur la fiche et définissez sa propriété VendorLib sur <votre chemin<\fbembed.dll ou utilisez une définition de pilote virtuel.


DriverID=FB
Database=C:\fb\ADDEMO_FB21.FDB
User_Name=sysdba
CharacterSet=utf8

Voir aussi

Exemples