Connexion à une source de données ODBC (FireDAC)

De RAD Studio
Aller à : navigation, rechercher

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

Cette rubrique explique comment établir la connexion à une source de données ODBC.

Versions supportées

Les pilotes de pont ODBC de FireDAC supportent les pilotes ODBC Niveau 2, 3.

Logiciel client

Logiciel client Windows

FireDAC requiert l'installation du pilote ODBC x86 ou x64 conformément à la spécification ODBC. Veuillez consulter la documentation suivante relative au pilote ODBC :

Remarque : Certains pilotes ODBC (comme le pilote ODBC Oracle v 11) comportent un bogue qui provoque une violation d'accès lors de la récupération des données. Pour éviter ce bogue, définissez FetchOptions.RowsetSize sur 1.

Logiciel client Linux et macOS

FireDAC requiert l'installation d'unixODBC, ainsi que des ODBC appropriés.

Remarque : Certains pilotes ODBC pour Linux, tel que celui de Teradata, incluent le gestionnaire de pilotes DataDirect, que vous devez configurer pour l'encodage Unicode.

Liaison du pilote

Pour lier le pilote :

Paramètres de définition de la connexion

Il y a deux façons principales de se connecter à la source de données ODBC :

  • Configurez DSN à l'aide du panneau de configuration Administrateur ODBC, puis spécifiez le nom DSN dans le paramètre DataSource ;
  • Dans l'Editeur de connexion FireDAC, spécifiez la valeur du paramètre ODBCDriver, puis cliquez sur le bouton Expert. Suivez les instructions de l'expert. Pour plus de détails, voir Définition d'une connexion (FireDAC).

Remarque : Les paramètres DataSource et ODBCDriver sont mutuellement exclusifs. Chaque pilote ODBC a ses propres paramètres de connexion. Ils peuvent être spécifiés comme valeur du paramètre ODBCAdvanced.


DriverID=ODBC

Paramètre Description Valeur exemple
ODBCDriver Nom du pilote ODBC à utiliser pour la connexion. S'il est spécifié, les autres paramètres de connexion doivent être spécifiés dans le paramètre ODBCAdvanced. SQL SERVER
ODBCAdvanced Vous permet de spécifier le nom des paramètres de connexion ODBC sur des paires de valeurs. Elles doivent être séparées par un ';'.
ODBCVersion Spécifie la version du gestionnaire de pilotes ODBC. Valeurs possibles : 3.8 ou 3.0 (valeur par défaut). 3.8
DataSource Nom du DSN existant à utiliser pour la connexion. MySAPDB
LoginTimeout Contrôle la durée, en secondes, s'écoulant avant qu'une application dépasse le temps imparti pour établir une connexion (la valeur 0 indique une attente infinie). 30
NumericFormat Contrôle le mode de liaison NUMBER interne. Le mode (par défaut) le plus efficace est "Binary". En revanche, certains pilotes ODBC ne gèrent pas ce mode correctement. Dans ce cas, définissez le paramètre sur "String" (c'est la valeur par défaut). String
MetaDefCatalog Spécifie le catalogue par défaut de l'application. En mode conception, le code omet le nom du catalogue dans les noms d'objet, s'il est égal à MetaDefCatalog. Northwind
MetaDefSchema Spécifie le schéma par défaut de l'application. En mode conception, le code omet le nom du schéma dans les noms d'objet, s'il est égal à MetaDefSchema. dbo

Pour une base de données ODBC MSSQL, définissez la valeur du paramètre ODBCAdvanced FDConnection sur MARS_Connection=YES. Sinon, lorsque vous appelez la méthode Open de FDTable, vous obtenez l'erreur suivante :

[FireDAC][Phys][ODBC][Microsoft][SQL Server Native Client 10.0]Connection is busy with results for another command.

Exemples d'utilisation

  • Connexion à PostgreSQL :


DriverID=ODBC
User_Name=postgres
Password=marlboro
ODBCDriver=PostgreSQL ANSI
ODBCAdvanced=SERVER=localhost;PORT=5432;DATABASE=addemo
  • Connexion à Sybase Adaptive Server Enterprise :


DriverID=ODBC
ODBCDriver=Adaptive Server Enterprise
ODBCAdvanced=server=da;port=5000;quotedidentifier=1
Database=addemo
User_Name=sa
MetaDefCatalog=addemo
MetaDefSchema=dbo
  • Connexion à Informix Dynamic Server :


DriverID=ODBC
ODBCDriver=IBM INFORMIX ODBC DRIVER
User_Name=informix
Password=informix2
Database=sysuser
ODBCAdvanced=HOST=DA;SRVR=ol_svr_custom;SERV=svc_custom;PRO=olsoctcp;CLOC=en_US.CP1252;DLOC=en_US.819

Voir aussi