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.
- --with-openlink[=DIR]
-
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.
Nom | Par défaut | Modifiable | Historique |
---|---|---|---|
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 |
Pour plus de détails sur les constantes PHP_INI_*, reportez-vous à Directives du php.ini.Note: Les entrées marquées avec une étoile ne sont pas encore implémentées.
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.
- odbc.max_links entier
-
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
- odbc_autocommit — Active le mode auto-validation
- odbc_binmode — Modifie la gestion des colonnes de données binaires
- odbc_close_all — Ferme toutes les connexions ODBC
- odbc_close — Ferme une connexion ODBC
- odbc_columnprivileges — Liste les colonnes et leurs droits associés
- odbc_columns — Liste les colonnes d'une table
- odbc_commit — Valide une transaction ODBC
- odbc_connect — Connexion à une source
- odbc_cursor — Lecture du pointeur de fiche courante (cursorname)
- odbc_data_source — Retourne des informations sur la connexion courante
- odbc_do — Synonyme de odbc_exec
- odbc_error — Lit le dernier code d'erreur
- odbc_errormsg — Lit le dernier message d'erreur
- odbc_exec — Prépare et exécute une requête SQL
- odbc_execute — Exécute une requête SQL préparée
- odbc_fetch_array — Lit une ligne de résultat dans un tableau associatif
- odbc_fetch_into — Lit une ligne de résultat, et la place dans un tableau
- odbc_fetch_object — Lit une ligne de résultat dans un objet
- odbc_fetch_row — Lit une ligne de résultat
- odbc_field_len — Lit la longueur d'un champ
- odbc_field_name — Lit le nom de la colonne
- odbc_field_num — Numéro de colonne
- odbc_field_precision — Alias de odbc_field_len
- odbc_field_scale — Lit l'échelle d'un champ
- odbc_field_type — Type de données d'un champ
- odbc_foreignkeys — Liste les clés étrangères
- odbc_free_result — Libère les ressources associées à un résultat
- odbc_gettypeinfo — Liste les types de données supportés par une source
- odbc_longreadlen — Gestion des colonnes de type LONG
- odbc_next_result — Vérifie si plusieurs résultats sont disponibles
- odbc_num_fields — Nombre de colonnes dans un résultat
- odbc_num_rows — Nombre de lignes dans un résultat
- odbc_pconnect — Ouvre une connexion persistante à une source de données
- odbc_prepare — Prépare une commande pour l'exécution
- odbc_primarykeys — Liste les colonnes utilisées dans une clé primaire
- odbc_procedurecolumns — Liste les paramètres des procédures
- odbc_procedures — Liste les procédures stockées
- odbc_result_all — Affiche le résultat sous la forme d'une table HTML
- odbc_result — Lit un champ de résultat UODBC
- odbc_rollback — Annule une transaction
- odbc_setoption — Modifie les paramètres ODBC
- odbc_specialcolumns — Retourne l'ensemble optimal de colonnes, qui permet de définir uniquement une ligne dans une table
- odbc_statistics — Calcul des statistiques sur une table
- odbc_tableprivileges — Liste les tables et leurs privilèges
- odbc_tables — Liste les tables d'une source