Connexion à InterBase (FireDAC)

De RAD Studio
Aller à : navigation, rechercher

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

Cette rubrique explique comment établir une connexion à Embarcadero InterBase.

Versions prises en charge

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

Pour établir une connexion à Firebird ou au serveur Jaffil, utilisez le pilote Firebird de FireDAC.

Logiciel client

Logiciel client Windows

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

  • InterBase Server :
    • Win32 : La bibliothèque GDS32.DLL pour établir la connexion à InterBase Server, Desktop ou Developer à partir des applications x86.
    • Win64 : La bibliothèque IBCLIENT64.DLL pour établir la connexion à InterBase Server, Desktop ou Developer à partir des applications x64.
  • InterBase ToGo:
    • Win32 : La bibliothèque IBTOGO.DLL pour le fonctionnement avec la base de données en utilisant InterBase ToGo incorporé à partir des applications x86.
    • Win64 : La bibliothèque IBTOGO64.DLL pour le fonctionnement avec la base de données en utilisant InterBase ToGo incorporé à partir des applications x64.

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.
  • tout autre dossier, en spécifiant dans FDDrivers.ini :
[IB]
VendorLib=<folder>\gds32.dll

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


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

Logiciel client OS X

FireDAC requiert :

  • la bibliothèque client libgds.dylib x86 pour se connecter au serveur InterBase. Avec RAD Studio, utilisez Projet > Déploiement > Ajouter des fichiers spécifiques > InterBase Client\OSX32.
  • la base de données Interbase incorporée libibtogo.dylib x86. Avec RAD Studio, utilisez Projet > Déploiement > Ajouter des fichiers spécifiques > InterBase ToGo\OSX32.

Logiciel client iOS

FireDAC requiert :

  • Pour le simulateur iOS - la base de données InterBase incorporée libibtogo.dylib x86. Avec RAD Studio, utilisez Projet > Déploiement > Ajouter des fichiers spécifiques > InterBase ToGo\iOSSimulator.
  • Pour le périphérique iOS 32 bits - la base de données InterBase incorporée libibtogo.a en tant que bibliothèque statique ARM. Avec RAD Studio, utilisez Projet > Déploiement > Ajouter des fichiers spécifiques > InterBase ToGo\iOSDevice32.
  • Pour le périphérique iOS 64 bits - la base de données InterBase incorporée libibtogo.a en tant que bibliothèque statique ARM. Avec RAD Studio, utilisez Projet > Déploiement > Ajouter des fichiers spécifiques > InterBase ToGo\iOSDevice64.

Notez qu'il est impossible de choisir le mode de liaison.

Logiciel client Android

FireDAC requiert :

  • la base de données InterBase incorporée libibtogo.a en tant que bibliothèque statique ARM. Avec RAD Studio, utilisez Projet > Déploiement > Ajouter des fichiers spécifiques > InterBase ToGo\Android.

Notez qu'il est impossible de choisir le mode de liaison.

Logiciel client Linux

FireDAC requiert :

  • le bibliothèque client libgds.so x64 pour se connecter au serveur InterBase. Avec RAD Studio, utilisez Projet > Déploiement > Ajouter des fichiers spécifiques > InterBase Client\Linux.
  • la base de données InterBase incorporée libibtogo.so x64. Avec RAD Studio, utilisez Projet > Déploiement > Ajouter des fichiers spécifiques > InterBase ToGo\Linux.

Liaison du pilote

Pour lier le pilote :

Paramètres de définition de la connexion

Pour établir la connexion à InterBase, 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=IB ou DriverID=IBLite

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

Remarque : Uniquement pour DriverID=IB.

Contrôle le mode d'authentification :

  • Yes -- utiliser l'authentification Windows.
  • No -- utiliser l'authentification du SGBD. C'est la valeur par défaut.
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

Remarque : Uniquement pour DriverID=IB.

Port TCP/IP sur lequel le serveur InterBase écoute. Par défaut, le port est égal au gds_db défini dans les services. Typiquement, il est égal à 3050. Lorsque gds_db n'est pas défini, vous devez alors définir le paramètre Port sur la valeur requise.

3051
Protocol

Remarque : Uniquement pour DriverID=IB.

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 en utilisant un alias.
  • NetBEUI -- établir une connexion en utilisant le protocole Microsoft NetBIOS.
  • SPX -- établir une connexion en utilisant le protocole Novell 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

Remarque : Uniquement pour DriverID=IB.

Spécifie l'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é.

127.0.0.1
InstanceName

Remarque : Uniquement pour DriverID=IB.

Nom de l'instance InterBase. Supporté à partir d'InterBase 2007.

srv2
SQLDialect

Remarque : Uniquement pour DriverID=IB.

Dialecte SQL à utiliser pour établir la connexion. La valeur par défaut est 3.

1
RoleName

Remarque : Uniquement pour DriverID=IB.

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, immédiatement après la connexion au serveur. 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 4096. 8192
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.

Cas d'utilisation

Utilisation d'une connexion sécurisée

Pour utiliser l'encryptage TLS/SSL, transmettez la paire clé-valeur ssl=true dans la valeur du paramètre Database, en procédant comme suit :


DriverID=IB
Database=my.interbasehost.net/3065?ssl=true?serverPublicFile=C:\PublicCertFileOnClient\CertFile.pem??:C:/DB/TEST.IB
User_Name=sysdba
Password=masterkey
CharacterSet=UTF8
ExtendedMetadata=True

Pour de plus amples informations, voir le Chapitre 5 du Guide des opérations InterBase (EN) en commençant à la page 5.

Autres cas d'utilisation

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


DriverID=IB
Database=C:\ib\ADDEMO_IBXE3.gdb
Protocol=TCPIP
Server=IBSrv
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=IB
Database=IBSrv:C:\ib\ADDEMO_IBXE3.gdb
User_Name=sysdba
Password=masterkey
CharacterSet=utf8
  • Etablir une connexion à une base de données locale :


DriverID=IB
Database=C:\ib\ADDEMO_IBXE3.gdb
User_Name=sysdba
Password=masterkey
CharacterSet=win1251
  • Etablir une connexion à une base de données InterBase ToGo :

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


DriverID=IB
Database=C:\ib\ADDEMO_IBXE3.gdb
User_Name=sysdba
Password=masterkey
CharacterSet=utf8
  • Etablir une connexion à un fichier de base de données dans le dossier Documents sur un périphérique ou un simulateur iOS :


DriverID=IB
User_Name=sysdba
Password=masterkey
Database=$(DOC)/ADDEMO.GDB
SQLDialect=3
CharacterSet=UTF8
ExtendedMetadata=True
  • Etablir une connexion à un fichier de base de données crypté dans le stockage externe sur le périphérique Android :


DriverID=IB
User_Name=sysdba
Password=masterkey
Database=$(DOC)/ADDEMO.GDB
SQLDialect=3
CharacterSet=UTF8
ExtendedMetadata=True
SEPassword=12345
  • Etablir une connexion à une base de données IBLite :


DriverID=IBLite
Database=C:\ib\ADDEMO_IBXE3.gdb
User_Name=sysdba
Password=masterkey
CharacterSet=utf8

Voir aussi

Exemples