LVII. Fonctions IBM DB2, Cloudscape et Apache Derby

Introduction

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).

Pré-requis

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.

Requirements on Linux or Unix

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
Si vous ne spécifiez pas cette option dans php.ini, vous devez exécuter la commande suivante pour modifier vos variables d'environnement pour autoriser l'accès à DB2 :
bash$ source /home/db2inst1/sqllib/db2profile
Pour permettre votre PHP sur votre serveur web d'accéder à ces fonctions, vous devez ajouter la même commande à votre script de démarrage de votre serveur Web (typiquement /etc/init.d/httpd or /etc/init.d/apache).

Installation

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 Chapitre 7 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
La commande configure prend la valeur par défaut de /opt/IBM/db2/V8.1.

Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Tableau 1. Options de configuration ibm_db2

NomPar défautModifiableHistorique
ibm_db2.binmode"1"PHP_INI_ALL 
ibm_db2.instance_nameNULLPHP_INI_SYSTEM 

Voici un éclaircissement sur l'utilisation des directives de configuration.

ibm_db2.binmode (entier)

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)

ibm_db2.instance_name (chaîne de caractères)

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.

Constantes pré-définies

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.

DB2_BINARY (entier)

Spécifie que les données binaires seront retournées comme elles sont. Ceci est le mode par défaut.

DB2_CONVERT (entier)

Spécifie que les données binaires seront converties en hexadécimal et retournées comme une chaîne ASCII.

DB2_PASSTHRU (entier)

Spécifie que les données binaires seront converties en valeur NULL.

DB2_SCROLLABLE (entier)

Spécifie le curseur flottant pour une déclaration de ressource. Ce mode permet un accès aléatoire aux lignes du jeu de résultats, mais présentement, il est supporté seulement par IBM DB2 Universal Database.

DB2_FORWARD_ONLY (entier)

Spécifie un curseur d'avancement seul pour une déclaration de ressource. Il s'agit de la valeur par défaut de ce type de curseur, et il est supporté par tous les serveurs de base de données.

DB2_PARAM_IN (entier)

Spécifie que la variable PHP doit être lié comme étant un paramètre ENTRANT pour une procédure d'enregistrement.

DB2_PARAM_OUT (entier)

Spécifie que la variable PHP doit être lié comme étant un paramètre SORTANT pour une procédure d'enregistrement.

DB2_PARAM_INOUT (entier)

Spécifie que la variable PHP doit être lié comme étant un paramètre ENTRANT/SORTANT pour une procédure d'enregistrement.

DB2_PARAM_FILE (entier)

Spécifie que la colonne doit être lié directement à un fichier pour entrée.

DB2_AUTOCOMMIT_ON (entier)

Spécifie que autocommit doit être activé.

DB2_AUTOCOMMIT_OFF (entier)

Spécifie que autocommit doit être désactivé.

DB2_DOUBLE (entier)

Spécifie que la variable doit être lié à un type DOUBLE, FLOAT ou REAL.

DB2_LONG (entier)

Spécifie que la variable doit être lié à un type SMALLINT, INTEGER ou BIGINT.

DB2_CHAR (entier)

Spécifie que la variable doit être lié à un type CHAR ou VARCHAR

DB2_CASE_NATURAL (entier)

Spécifie que les noms de colonnes doivent être retournés dans leurs casses naturelles.

DB2_CASE_LOWER (entier)

Spécifie que les noms de colonnes doivent être retournés en minuscule.

DB2_CASE_UPPER (entier)

Spécifie que les noms de colonnes doivent être retournés en majuscule.

Types de ressources

L'extension ibm_db2 retourne des ressources de connexion, des ressources de déclaration et des ressources de jeu de résultats.

Table des matières
db2_autocommit --  Retourne ou modifie l'état AUTOCOMMIT de la connexion à la base de données
db2_bind_param --  Associe une variable PHP à un paramètre d'une requête SQL
db2_client_info -- Retourne un objet avec des propriétés qui décrivent le client de base de données DB2
db2_close --  Ferme une connexion de base de données
db2_column_privileges --  Retourne un jeu de résultats listant les colonnes et ses privilèges d'une table
db2_columns --  Retourne un jeu de résultats listant les colonnes et ses métadonnées d'une table
db2_commit --  Valide la transaction
db2_conn_error --  Retourne une chaîne contenant la valeur de SQLSTATE retournée par la dernière tentative de connexion
db2_conn_errormsg --  Retourne le dernier message d'erreur de connexion ainsi que la valeur de SQLCODE
db2_connect --  Retourne une connexion à une base de données
db2_cursor_type --  Retourne le type de curseur utilisé par une ressource
db2_exec --  Exécute une requête SQL directement
db2_execute --  Exécute une requête SQL préparée
db2_fetch_array --  Retourne un tableau, indexé par la position des colonnes, représentant une ligne du jeu de résultats
db2_fetch_assoc --  Retourne un tableau, indexé par nom de colonne, représentant une ligne du jeu de résultats
db2_fetch_both --  Retourne un tableau, indexé par nom de colonne et position, représentant une ligne du jeu de résultats
db2_fetch_object --  Retourne un objet avec les propriétés représentant des colonnes dans la ligne extraite
db2_fetch_row --  Modifie le pointeur du jeu de résultat à la prochaine ligne ou à la ligne demandée
db2_field_display_size --  Retourne le maximum d'octets requis pour afficher une colonne
db2_field_name --  Retourne le nom de la colonne du jeu de résultats
db2_field_num --  Retourne la position du nom de la colonne du jeu de résultats
db2_field_precision --  Retourne la précision de la colonne indiquée du jeu de résultats
db2_field_scale --  Retourne l'échelle de la colonne indiquée du jeu de résultats
db2_field_type --  Retourne le type de donnée de la colonne indiquée du jeu de résultats
db2_field_width --  Retourne la largeur de la valeur courante de la colonne indiquée du jeu de résultats
db2_foreign_keys --  Retourne un jeu de résultats listant les clés étrangères d'une table
db2_free_result --  Libère la mémoire associée à un jeu de résultats
db2_free_stmt --  Libère la mémoire associée à la ressource indiquée
db2_next_result --  Demande le prochain jeu de résultats de la ressource indiquée
db2_num_fields --  Retourne le nombre de champs contenu du jeu de résultats
db2_num_rows --  Retourne le nombre de lignes affectées par une requête SQL
db2_pconnect --  Retourne une connexion persistante à une base de données
db2_prepare --  Prépare une requête SQL à être exécutée
db2_primary_keys --  Retourne un jeu de résultats listant les clés d'une table
db2_procedure_columns --  Retourne un jeu de résultats listant les paramètres de procédure d'enregistrement
db2_procedures --  Retourne un jeu de résultats listant les procédures d'enregistrement enregistrées dans la base de données
db2_result --  Retourne une colonne d'une ligne d'un jeu de résultats
db2_rollback --  Annule une transaction
db2_server_info -- Retourne un objet avec des propriétés qui décrivent le serveur de base de données DB2
db2_special_columns --  Retourne un jeu de résultats listant les identifiants uniques des lignes d'une table
db2_statistics --  Retourne un jeu de résultats listant les index et statistiques d'une table
db2_stmt_error --  Retourne une chaîne contenant la valeur de SQLSTATE retournée par une requête SQL
db2_stmt_errormsg --  Retourne le dernier message d'erreur d'une requête SQL
db2_table_privileges --  Retourne un jeu de résultats listant les tables et leurs privilèges qui leur sont associées d'une base de données
db2_tables --  Retourne un jeu de résultats listant les tables et leurs métadatas qui leur sont associées d'une base de données


Rechercher une fonction PHP

Réseaux sociaux

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher les interactions avec les réseaux sociaux sur ces pages.

 

Nuage de mots clés

5 mots clés dont 0 définis manuellement (plus d'information...).

Avertissement

Cette page ne possède pas encore de mots clés manuels, ceci est donc un exemple automatique (les niveaux de pertinence sont fictifs, mais les liens sont valables). Pour tester le nuage avec une page qui contient des mots définis manuellement, vous pouvez cliquer ici.

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher le nuage de mots clés.

 

Références

  1. Consulter le document html Langue du document: fr Manuel PHP : http://be2.php.net, fonctions ibm db2, cloudscape et

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.

 

Astuce pour imprimer les couleurs des cellules de tableaux : http://www.gaudry.be/ast-rf-450.html
Aucun commentaire pour cette page

© Ce document issu de l′infobrol est enregistré sous le certificat Cyber PrInterDeposit Digital Numbertection. Enregistrement IDDN n° 5329-4770
Document créé le 30/10/06 01:08, dernière modification le Vendredi 17 Juin 2011, 12:12
Source du document imprimé : http://www.gaudry.be/php-rf-ref.ibm-db2.html Document affiché 1 fois ce mois de Juin.
St.Gaudry©07.01.02
Outils (masquer)
||
Recherche (afficher)
Recherche :

Utilisateur (masquer)
Navigation (masquer)
Apparence (afficher)
Stats (afficher)
15832 documents
452 astuces.
549 niouzes.
3099 definitions.
447 membres.
8115 messages.

Document genere en :
0,28 seconde

Mises à jour :
Mises à jour du site
Citation (masquer)
L'homme intelligent a de commun avec l'imbécile de croire que celui qui ne pense pas comme lui est un imbécile.

Maurice Chapelan
 
l'infobrol
Nous sommes le Dimanche 03 Juin 2012, 06:39, toutes les heures sont au format GMT+1.00 Heure, heure d'été (+1)