Forum und email

Fonctions ODBC (unifiés)

Introduction

En plus du support de l'ODBC normal, l'ODBC unifié de PHP vous donne accès à diverses bases de données qui ont emprunté la sémantique des API ODBC pour implémenter leur propres API. Au lieu de maintenir de multiples pilotes qui sont similaires, ces pilotes ont été rassemblés dans un jeu de fonctions ODBC uniques.

Les bases de données suivantes sont supportées par l'ODBC unifié : » Adabas D, » IBM DB2, » iODBC, » Solid, et » Sybase SQL Anywhere.

Note: Mise à part pour IODBC, il n'y a pas d'ODBC utilisé lors des connexions aux bases de données ci-dessus. Les fonctions que vous utiliserez portent des noms évocateurs, et utilisent les mêmes syntaxes que leurs cousines d'ODBC. L'exception à ceci est iODBC. En compilant PHP avec le support iODBC, vous pourrez utiliser n'importe quel pilote compatible ODBC avec vos applications PHP. iODBC est mis à jour sur » OpenLink Software. Plus d'informations sur iODBC, ainsi qu'un HOWTO (en anglais), sont disponibles sur » www.iodbc.org.

Pré-requis

Pour accéder à l'une des bases de données supportées, il faut que les bibliothèques équivalentes soient installées.

Installation

--with-adabas[=DIR]

Inclut le support Adabas D. DIR est le dossier d'installation d'Adabas D. Par défaut, c'est /usr/local.

--with-sapdb[=DIR]

Inclut le support SAP DB. DIR est le dossier d'installation de SAP DB. Par défaut, c'est /usr/local.

--with-solid[=DIR]

Inclut le support Solid. DIR est le dossier d'installation de Solid. Par défaut, c'est /usr/local/solid.

--with-ibm-db2[=DIR]

Inclut le support IBM DB2. DIR est le dossier d'installation de DB2. Par défaut, c'est /home/db2inst1/sqllib.

--with-empress[=DIR]

Inclut le support Empress. DIR est le dossier d'installation de Empress. Par défaut, c'est $EMPRESSPATH. Depuis PHP 4, cette option ne supporte que Empress Version 8.60 et plus récent.

--with-empress-bcs[=DIR]

Inclut le support Empress Local Access. DIR est le dossier d'installation de Empress. Par défaut, c'est $EMPRESSPATH. Depuis PHP 4, cette option ne supporte que Empress Version 8.60 et plus récent.

--with-birdstep[=DIR]

Inclut le support Birdstep. DIR est le dossier d'installation de Birdstep. Par défaut, c'est /usr/local/birdstep.

--with-custom-odbc[=DIR]

Inclut le support d'un ODBC définit par l'utilisateur. DIR est le dossier d'installation d'ODBC. Par défaut, c'est /usr/local. Assurez-vous que la variable CUSTOM_ODBC_LIBS est définie, et que le fichier odbc.h est dans votre chemin d'inclusion, c'est-à-dire que vous devriez définir les lignes suivantes pour Sybase SQL Anywhere 5.5.00 sous QNX, avant d'utiliser le script de configuration :

   CPPFLAGS="-DODBC_QNX -DSQLANY_BUG"
   LDFLAGS=-lunix
   CUSTOM_ODBC_LIBS="-ldblib -lodbc".

--with-iodbc[=DIR]

Inclut le support iODBC. DIR est le dossier d'installation de iODBC. Par défaut, c'est /usr/local.

--with-esoob[=DIR]

Inclut le support Easysoft OOB. DIR est le dossier d'installation de OOB. Par défaut, c'est /usr/local/easysoft/oob/client.

--with-unixodbc[=DIR]

Inclut le support unixODBC. DIR est le dossier d'installation d'unixODBC. Par défaut, c'est /usr/local.

Inclut le support OpenLink ODBC. DIR est le dossier d'installation OpenLink. Par défaut, c'est /usr/local. C'est le même que pour iODBC.

--with-dbmaker[=DIR]

Inclut le support DBMaker. DIR est le dossier d'installation DBMaker. Par défaut, c'est le chemin de la dernière installation de DBMaker (par exemple /home/dbmaker/3.6).

Pour désactiver le support unifié ODBC dans PHP 3 ajoutez --disable-unified-odbc dans votre ligne de configuration. Cela n'est possible que si iODBC, Adabas, Solid, Velocis ou une interface ODBC personnalisée est activée.

La version Windows de PHP dispose du support automatique de cette extension. Vous n'avez pas à ajouter de bibliothèque supplémentaire pour disposer de ces fonctions.

Configuration à l'exécution

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

Options de configuration
NomPar défaut ModifiableHistorique
odbc.default_db * NULL PHP_INI_ALL  
odbc.default_user * NULL PHP_INI_ALL  
odbc.default_pw * NULL PHP_INI_ALL  
odbc.allow_persistent "1" PHP_INI_SYSTEM  
odbc.check_persistent "1" PHP_INI_SYSTEM  
odbc.max_persistent "-1" PHP_INI_SYSTEM  
odbc.max_links "-1" PHP_INI_SYSTEM  
odbc.defaultlrl "4096" PHP_INI_ALL  
odbc.defaultbinmode "1" PHP_INI_ALL  

Note: Les entrées marquées avec une étoile ne sont pas encore implémentées.

Pour plus de détails sur les constantes PHP_INI_*, reportez-vous à Directives du php.ini.

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

odbc.default_db chaîne de caractères

La source de données ODBC si aucune n'est spécifiée dans les fonctions odbc_connect() ou odbc_pconnect().

odbc.default_user chaîne de caractères

Nom d'utilisateur à utiliser si aucun n'est spécifié dans les fonctions odbc_connect() ou odbc_pconnect().

odbc.default_pw chaîne de caractères

Mot de passe à utiliser si aucun n'est spécifié dans les fonctions odbc_connect() ou odbc_pconnect().

odbc.allow_persistent booléen

Est-ce que les connexions ODBC persistantes sont autorisées ou pas ?

odbc.check_persistent booléen

Vérifie que la connexion est valide avant de l'utiliser.

odbc.max_persistent entier

Nombre maximum de connexions persistantes par processus.

Le nombre maximum de connexions ODBC par processus, y compris les connexions persistantes.

odbc.defaultlrl entier

Gestion des champs de type LONG. Spécifie le nombre d'octets retournés dans les variables.

Lorsqu'un entier est utilisé, sa valeur est mesurée en octets. Vous pouvez également utiliser la notation sténographique comme décrit dans cette entrée de la FAQ..
odbc.defaultbinmode entier

Gestion des données binaires.

Types de ressources

Cette extension définit deux types de ressource : un identifiant de connexion ODBC et un identifiant de résultat ODBC.

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.

ODBC_TYPE (entier)
ODBC_BINMODE_PASSTHRU (entier)
ODBC_BINMODE_RETURN (entier)
ODBC_BINMODE_CONVERT (entier)
SQL_ODBC_CURSORS (entier)
SQL_CUR_USE_DRIVER (entier)
SQL_CUR_USE_IF_NEEDED (entier)
SQL_CUR_USE_ODBC (entier)
SQL_CONCURRENCY (entier)
SQL_CONCUR_READ_ONLY (entier)
SQL_CONCUR_LOCK (entier)
SQL_CONCUR_ROWVER (entier)
SQL_CONCUR_VALUES (entier)
SQL_CURSOR_TYPE (entier)
SQL_CURSOR_FORWARD_ONLY (entier)
SQL_CURSOR_KEYSET_DRIVEN (entier)
SQL_CURSOR_DYNAMIC (entier)
SQL_CURSOR_STATIC (entier)
SQL_KEYSET_SIZE (entier)
SQL_CHAR (entier)
SQL_VARCHAR (entier)
SQL_LONGVARCHAR (entier)
SQL_DECIMAL (entier)
SQL_NUMERIC (entier)
SQL_BIT (entier)
SQL_TINYINT (entier)
SQL_SMALLINT (entier)
SQL_INTEGER (entier)
SQL_BIGINT (entier)
SQL_REAL (entier)
SQL_FLOAT (entier)
SQL_DOUBLE (entier)
SQL_BINARY (entier)
SQL_VARBINARY (entier)
SQL_LONGVARBINARY (entier)
SQL_DATE (entier)
SQL_TIME (entier)
SQL_TIMESTAMP (entier)
SQL_TYPE_DATE (entier)
SQL_TYPE_TIME (entier)
SQL_TYPE_TIMESTAMP (entier)
SQL_BEST_ROWID (entier)
SQL_ROWVER (entier)
SQL_SCOPE_CURROW (entier)
SQL_SCOPE_TRANSACTION (entier)
SQL_SCOPE_SESSION (entier)
SQL_NO_NULLS (entier)
SQL_NULLABLE (entier)
SQL_INDEX_UNIQUE (entier)
SQL_INDEX_ALL (entier)
SQL_ENSURE (entier)
SQL_QUICK (entier)

Table of Contents