Estas funciones le permiten acceder a bases de datos Oracle9,
Oracle8 y Oracle7. Usan la Interfaz de Llamadas Oracle (OCI por
sus siglas en Inglés).
Esta extensión es más flexible que la
extensión antigua de
Oracle. Ésta soporta la vinculación de
variables PHP globales y locales con recipientes Oracle, tiene
soporte completo LOB, FILE y ROWID, y le permite usar variables
de definición entregadas por el usuario. Es recomendable
usar esta extensión en lugar de la extensión antigua de Oracle siempre que sea
posible.
Es necesario contar con las bibliotecas de cliente Oracle para
usar esta extensión. Los usuarios de Windows necesitan por
lo menos la versión 8.1 de Oracle para usar
php_oci8.dll.
Antes de usar esta extensión, asegúrese de haber
configurado apropiadamente sus variables de entorno Oracle para
que correspondan con el usuario de Oracle, así como su
usuario del demonio web. Las variables que necesita definir son
las siguientes:
ORACLE_HOME
ORACLE_SID
LD_PRELOAD
LD_LIBRARY_PATH
NLS_LANG
ORA_NLS33
Después de definir las variables de entorno para su usuario
de servidor web, asegúrese también de agregar al
usuario del servidor web (nobody, www) al grupo oracle.
Si su servidor web no arranca, o falla al arrancar:
Verifique que Apache esté enlazado con la biblioteca
pthread:
Si libpthread no se encuentra en la lista, necesita re-instalar
Apache:
# cd /usr/src/apache_1.3.xx
# make clean
# LIBS=-lpthread ./config.status
# make
# make install
Por favor note que en algunos sistemas, como UnixWare, se trata
de libthread en lugar de libpthread. PHP y Apache deben
configurarse con EXTRA_LIBS=-lthread.
Estas constantes están
definidas por esta extensión y estarán disponibles
solamente cuando la extensión ha sido o bien compilada dentro
de PHP o grabada dinámicamente en tiempo de ejecución.
Statement fetch mode. Used when the application knows
in advance exactly how many rows it will be fetching.
This mode turns prefetching off for Oracle release 8
or later mode. Cursor is cancelled after the desired
rows are fetched and may result in reduced server-side
resource usage.
Es posible acceder fácilmente a procedimientos almacenados
en la misma forma en que lo haría desde la línea de
comandos.
Ejemplo 2. Uso de Procedimientos Almacenados
<?php // por webmaster arroba remoterealty punto com $sth = OCIParse($dbh, "begin proc_nueva_dir( :id_direccion, '$nombre', '$apellido', '$companyia', '$dir1', '$dir2', '$ciudad', '$estado', '$cod_postal', '$pais', :cod_error );end;");
// Esto llama al procedimiento almacenado proc_nueva_dir, en donde // :id_direccion es una variable de entrada/salida y :cod_error es una // variable de salida. // Entonces crea la vinculacion: