Connexion à IBM DB2 Server (FireDAC)

De RAD Studio
Aller à : navigation, rechercher

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

Cette rubrique explique comment établir une connexion à IBM DB2 Server.

Versions prises en charge

Le pilote natif FireDAC supporte IBM DB2 éditions Enterprise, Workgroup, Express ou AS/400 version 8 ou ultérieure. Nous recommandons au minimum la version 8.2. Vous pouvez également travailler avec d'autres produits de base de données IBM utilisant les pilotes ODBC ou pont DBX de FireDAC.

Logiciel client

Logiciel client Windows

FireDAC requiert l'installation du pilote ODBC x86 ou x64 "IBM DATA SERVER DRIVER for ODBC", "IBM DB2 ODBC DRIVER" ou "IBM DB2 DRIVER FOR ODBC" sur la station de travail. Ceux-ci peuvent être téléchargés à partir des emplacements suivants :

Après avoir téléchargé et décompressé le pilote ODBC, exécutez "<client>\bin\db2oreg1 -i" pour l'installer. Téléchargez et installez également les packs de correction.

Si le pilote ODBC DB2 n'a pas été installé correctement, une exception est déclenchée lorsque vous tentez d'établir une connexion :


[FireDAC][Phys][ODBC][Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

DB2 AS400

FireDAC requiert la connexion du pilote "iSERIES ACCESS ODBC DRIVER (EN)" à DB2 AS400.

Logiciel client Linux

FireDAC requiert la bibliothèque du gestionnaire de pilote ODBC 64 bits unixODBC et le pilote ODBC 64 bits IBM DB2.

Pour installer le pilote ODBC 64 bits IBM DB2 Linux, téléchargez-le et exécutez les commandes suivantes pour l'installer :

tar -xavf ibm_data_server_driver_for_odbc_cli_linuxx64_v*.tar.*
cd odbc_cli
sudo mkdir -p /opt/ibm/clidriver
sudo cp -r clidriver/* /opt/ibm/clidriver
echo [IBM DB2 ODBC DRIVER] > db2.driver.template
echo Description=IBM DB2 ODBC Driver >> db2.driver.template
echo Driver=/opt/ibm/clidriver/lib/libdb2o.so >> db2.driver.template
echo DontDLClose=1 >> db2.driver.template
echo Threading=1 >> db2.driver.template
odbcinst -i -d -f db2.driver.template

Liaison du pilote

Pour lier le pilote :

Paramètres de définition de la connexion

Il existe deux méthodes de spécification des attributs de connexion à DB2. Dans le logiciel client DB2, si les alias de connexion à DB2 sont configurés, une application doit utiliser le paramètre Alias. Si aucun alias n'est configuré, vous devez utiliser les paramètres Protocol, Server, Port et Database. Spécifiez également les paramètres User_Name et Password. Pour plus de détails, voir Définition d'une connexion (FireDAC).

DriverID=DB2

Paramètre Description Valeur exemple
Alias Alias de connexion. MyDB2Srv
Server Nom de l'hôte, si le paramètre Alias n'est pas spécifié. 127.0.0.1
Port Valeur du port, si le paramètre Alias n'est pas spécifié. 5000
Database Nom de la base de données, si le paramètre Alias n'est pas spécifié. ADDEMO
Protocol Nom du protocole, si le paramètre Alias n'est pas spécifié. TCPIP
User_Name Nom d'utilisateur de DB2. db2admin
Password Mot de passe de l'utilisateur de la base de données. Notez que les mots de passe comportant '{' et '}' ne sont pas supportés. master
LoginTimeout Contrôle la durée, en secondes, s’écoulant avant qu'une application dépasse le temps imparti pour établir la connexion (la valeur 0 indique une attente infinie). 30
StringFormat

Définit comment représenter les valeurs chaîne (String) :

  • Choose -- représenter en tant que ftString / ftWideString / ftMemo / ftWideMemo, selon le nom du type de données déclaré (valeur par défaut).
  • Unicode -- toujours représenter en tant que ftWideString / ftWideMemo.
Unicode
ExtendedMetadata

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

  • True -- FireDAC décrit un ensemble de résultats pour obtenir tous les attributs de colonne possibles (en lecture seule, auto-incrémentée, colonne d'origine, etc). Le fait de définir 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 (valeur par défaut).
True
ODBCAdvanced Vous permet de spécifier toute autre valeur de paramètre de connexion ODBC. La valeur par défaut est "IGNOREWARNINGS=1".
TxSupported Spécifie si la base de données DB2 prend en charge des transactions SQL.
  • Yes. La base de données DB2 prend en charge des transactions. C'est la valeur par défaut.
  • No. La base de données DB2 ne prend pas en charge des transactions.
    Remarque : Définissez ce paramètre sur No quand les appels aux méthodes StartTransaction, Commit ou Rollback entrainent des erreurs. Par exemple :
    • Quand une transaction inclut une table de base de données DB2 créée avec l'option NOT LOGGED INITIALLY.
    • Quand la journalisation des transactions d'une base de données AS400 DB2 est désactivée.
Yes
MetaDefSchema Nom du schéma par défaut. En mode conception, le code exclut le nom du schéma du nom d'objet s'il est égal à MetaDefSchema. db2admin

Exemples d'utilisation

  • Etablir une connexion à DB2 en utilisant l'alias de base de données existant :


DriverID=DB2
Alias=addemo
User_Name=db2admin
Password=mypwd
MetaDefSchema=db2admin
  • Etablir une connexion à la base de données en utilisant les informations de connexion complètes :


DriverID=DB2
Server=127.0.0.1
Database=addemo
Port=50000
Protocol=TCPIP
User_Name=db2admin
Password=mypwd
MetaDefSchema=db2admin
  • Etablir une connexion à DB2 AS400
Pour établir une connexion à TBDECallback, effectuez les étapes suivantes :
  1. Déposez un composant TFDConnection et un composant TFDPhysDB2DriverLink sur le TForm .
  2. Définissez la propriété TFDPhysDB2DriverLink.ODBCDriver sur 'iSeries Access ODBC Driver'.
  3. Double-cliquez sur TFDConnection et définissez Driver ID sur DB2.
  4. Appuyez sur le bouton Expert.
  5. Renseignez les paramètres de connexion en utilisant le dialogue du pilote ODBC.
  6. Appuyez sur le bouton OK pour enregistrer les paramètres.

Voir aussi