Ces fonctions vous permettent un accès aux IBM DB2 Universal Database, IBM Cloudscape et Apache Derby qui utilisent DB2 Call Level Interface (DB2 CLI).
Pour se connecter à des bases de données IBM DB2 Universal Database pour linux, UNIX et Windows ou IBM Cloudscape ou Apache Derby, vous devez installer un client IBM DB2 Universal Database sur le même ordinateur qui utilise PHP. Cette extension a été développé et testé avec DB2 Version 8.2.
Pour se connecter à des bases de données IBM DB2 Universal Database pour z/OS ou iSeries, vous aurez aussi besoin de IBM DB2 Connect ou l'équivalent d'un programme DRDA.
L'utilisateur appelant l'exécutable PHP ou module SAPI doit spécifier l'instance DB2 avant d'accéder à ces fonctions. Vous pouvez spécifier le nom de l'instance DB2 dans php.ini en utilisant l'option de configuration ibm_db2.instance_name ou vous pouvez approvisionner le profile de l'instance DB2 avant d'appeler l'exécutable PHP.
Si vous avez créée une instance DB2 nommée db2inst1 dans /home/db2inst1, par exemple, vous pouvez ajouter la ligne suivante à votre php.ini :
ibm_db2.instance_name=db2inst1
bash$ source /home/db2inst1/sqllib/db2profile
Pour compiler l'extension ibm_db2, les fichiers d'en-tête et de bibliothèques de l'application de développement de DB2 doivent être présents sur votre système. DB2 ne les installe pas par défaut, vous devrez donc retourner à l'installation de DB2 et ajouter cette option. Les en-têtes des fichiers sont inclus avec le client de développement d'application DB2, disponible librement au téléchargement depuis le » support du site de la base de données universelle.
Si vous ajoutez les fichiers d'en-têtes et de bibliothèques de l'application de développement de DB2 sur un système Linux ou Unix où DB2 est déjà installé, vous devez lancer la commande db2iupdt -e pour mettre à jour les liens symboliques dans les fichiers d'en-têtes et de bibliothèques de vos exemples DB2.
ibm_db2 est une extension » PECL, alors suivez les instructions présentes dans Installation d'extensions PECL pour installer l'extension ibm_db2 pour PHP. Tapez la commande configure pour pointer vers l'emplacement de vos fichiers d'en-têtes et de bibliothèques de DB2 comme suit :
bash$ ./configure --with-IBM_DB2=/chemin/vers/DB2
Note: Note pour les utilisateurs de IIS Si vous utilisez le driver ibm_db2 avec IIS (Microsoft Internet Information Server), vous devez faire ce qui suit :
- Installez DB2 avec le système de sécurité étendu.
- Ajoutez le chemin vers le binaire PHP à la variable d'environnement du système (PATH) (default C:\php\).
- Créé une autre variable d'environnement contenant le chemin vers le fichier PHP.INI (eg: PHPRC = C:\php\).
- Ajoutez l'utilisateur IUSR_COMPUTERNAME au groupe DB2USERS.
Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.
Nom | Par défaut | Modifiable | Historique |
---|---|---|---|
ibm_db2.binmode | "1" | PHP_INI_ALL | |
ibm_db2.i5_allow_commit | "0" | PHP_INI_SYSTEM | |
ibm_db2.i5_dbcs_alloc | "0" | PHP_INI_SYSTEM | |
ibm_db2.instance_name | NULL | PHP_INI_SYSTEM |
Voici un éclaircissement sur l'utilisation des directives de configuration.
Cette option contrôle le mode utilisé pour convertir à partir ou vers les données binaires dans l'application PHP.
1 (DB2_BINARY)
2 (DB2_CONVERT)
3 (DB2_PASSTHRU)
Cette option contrôle le mode d'envoi utilisé pour les schémas de collections i5 dans l'application PHP.
0 aucun envoi (voir i5_commit pour dérivé)
1 autorise l'envoi (voir i5_commit pour dérivé)
Cette option contrôle l'allocation de canevas internes de ibm_db2 pour des tampons de colonne large DBCS.
0 aucune allocation étendue (voir i5_dbcs_alloc pour dérivé)
1 utilise les allocations étendues (voir i5_dbcs_alloc pour dérivé)
Sur les systèmes d'exploitation Linux et UNIX, cette option définit le nom de l'instance à utiliser pour les connexions aux bases de données cataloguées. Si cette option est utilisée, sa valeur prévaut sur la variable d'environnement DB2INSTANCE.
Cette option est ignorée sur les systèmes d'exploitation Windows.
Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.
L'extension ibm_db2 retourne des ressources de connexion, des ressources de déclaration et des ressources de jeu de résultats.