# Oracle OCI8

- Introducción
- Instalación/Configuración
  - Requerimientos
  - Instalación
  - Pruebas
  - Configuración en tiempo de ejecución
- Constantes predefinidas
- Ejemplos
- Manejo de conexiones de OCI8 y agrupamiento de conexiones
- OCI8 Fast Application Notification (FAN) Support
- Soporte para 'Transparent Application Failover' (TAF) de OCI8
- OCI8 y rastreo dinámico de DTrace
- Tipos de datos admitidos
- Funciones de OCI8
  - oci_bind_array_by_name — Vincula un array de PHP con un parámetro de un array de Oracle PL/SQL
  - oci_bind_by_name — Vincula una variable de PHP a un parámetro de sustitución de Oracle
  - oci_cancel — Cancela la lectura del cursor
  - oci_client_version — Devuelve la versión de la biblioteca cliente de Oracle
  - oci_close — Cierra una conexión a Oracle
  - oci_commit — Consigna la transacción pendiente de la base de datos
  - oci_connect — Conecta a una base de datos de Oracle
  - oci_define_by_name — Asocia una variable de PHP con una columna para la obtención de consultas
  - oci_error — Devuelve el último error encontrado
  - oci_execute — Ejecuta una sentencia
  - oci_fetch_all — Obtiene múltiples filas de una consulta y las ubica en un array bidimiensional
  - oci_fetch_array — Devuelve la siguiente fila de una consulta como un array asociativo o numérico
  - oci_fetch_assoc — Devuelve la siguiente fila de una consulta como un array asociativo
  - oci_fetch_object — Devuelve la siguiente fila de una consulta como un objeto
  - oci_fetch_row — Devuelve la siguiente fila de una consulta como un array numérico
  - oci_fetch — Coloca la siguiente fila de una consulta en los búferes internos
  - oci_field_is_null — Comprueba si un campo de la fila actualmente obtenida es null
  - oci_field_name — Devuelve el nombre de un campo de una sentencia
  - oci_field_precision — Indica la precisión de un campo
  - oci_field_scale — Indica la escala de un campo
  - oci_field_size — Devuelve el tamaño de un campo
  - oci_field_type_raw — Indica el tipo de datos sin tratar de Oracle de un campo
  - oci_field_type — Devuelve el nombre del tipo de datos de un campo
  - oci_free_descriptor — Libera un descriptor
  - oci_free_statement — Libera todos los recursos asociados con una sentencia o cursor
  - oci_get_implicit_resultset — Devuelve el siguiente recurso de sentencia hija desde un recurso de sentencia padre que posee Conjuntos de resultados implícitos de Oracle Database 12c
  - oci_lob_copy — Copia objetos grandes
  - oci_lob_is_equal — Compara dos localizadores LOB/FILE
  - oci_new_collection — Asigna un nuevo objeto colección
  - oci_new_connect — Conectar al servidor de Oracle usando una conexión única
  - oci_new_cursor — Asigna y devuelve un nuevo cursor (gestor de sentencia)
  - oci_new_descriptor — Inicializa un nuevo descriptor LOB o FILE vacío
  - oci_num_fields — Devuelve el número de columnas del resultado de una sentencia
  - oci_num_rows — Devuelve el número de filas afectadas durante la ejecución de una sentencia
  - oci_parse — Prepara una sentencia de Oracle para su ejecución
  - oci_password_change — Cambia la contraseña de un usuario de Oracle
  - oci_pconnect — Conectar a una base de datos de Oracle usando una conexión persistente
  - oci_register_taf_callback — Registrar una función de retrollamada definida por el usuario para TAF de Oracle Database
  - oci_result — Devuelve el valor de un campo de la fila obtenida
  - oci_rollback — Revierte la transacción pendiente de la base de datos
  - oci_server_version — Devuelve la versión de Oracle Database
  - oci_set_action — Establece el nombre de una acción
  - oci_set_call_timeout — Establece un tiempo de espera de milisegundos para las llamadas a la base de datos
  - oci_set_client_identifier — Establece el identificador del cliente
  - oci_set_client_info — Establece la información del cliente
  - oci_set_db_operation — Establece la operación de base de datos
  - oci_set_edition — Establece la edición de la base de datos
  - oci_set_module_name — Establece el nombre de un módulo
  - oci_set_prefetch_lob — Establece la cantidad de datos precargados para cada CLOB o BLOB.
  - oci_set_prefetch — Establece el número de filas a precargar mediante consultas
  - oci_statement_type — Devuelve el tipo de una sentencia
  - oci_unregister_taf_callback — Anular el registro de una función callback definida para Oracle Database TAF
- OCI-Collection — La clase OCI-Collection
  - OCICollection::append — Añade un elemento a la colección
  - OCICollection::assign — Asigna un valor a la colección desde otra colección existente
  - OCICollection::assignElem — Asigna un valor a un elemento de la colección
  - OCICollection::free — Libera los recursos asociados con el objeto colección
  - OCICollection::getElem — Devuelve el valor de un elemento
  - OCICollection::max — Devuelve el número máximo de elementos de la colección
  - OCICollection::size — Devuelve el tamaño de la colección
  - OCICollection::trim — Elimina elementos del final de la colección
- OCI-Lob — La clase OCI-Lob
  - OCILob::append — Añade datos a un objeto grande (LOB) desde otro
  - OCILob::close — Cierra un descriptor de LOB
  - OCILob::eof — Comprueba la marca de final de fichero en un descriptor de objetos grandes
  - OCILob::erase — Borra la porción especificada de los datos internos de un LOB
  - OCILob::export — Exporta el contenido de un LOB a un fichero
  - OCILob::flush — Vacía/escribe el búfer de un LOB al servidor
  - OCILob::free — Libera los recursos asociados con el descriptor del LOB
  - OCILob::getBuffering — Devuelve el estado actual del uso del búfer para un objeto grande
  - OCILob::import — Importa datos de un fichero a un LOB
  - OCILob::load — Devuelve el contenido de un objeto grande
  - OCILob::read — Lee parte del objeto grande
  - OCILob::rewind — Mueve el puntero interno al comienzo de un objeto grande
  - OCILob::save — Guarda datos en un objeto grande
  - OCILob::saveFile — Alias de OCILob::import
  - OCILob::seek — Ubica el puntero interno de un objeto grande
  - OCILob::setBuffering — Cambia el estado actual del uso del búfer para objetos grandes
  - OCILob::size — Devuelve el tamaño de un objeto grande
  - OCILob::tell — Devuelve la posición actual del puntero interno de un objeto grande
  - OCILob::truncate — Trunca un objeto grande
  - OCILob::write — Escribe datos en un objeto grande
  - OCILob::writeTemporary — Escribe un objeto grande temporal
  - OCILob::writeToFile — Alias de OCILob::export
- Funciones y alias de OCI8 obsoletos
  - oci_internal_debug — Enables or disables internal debug output
  - ocibindbyname — Alias de oci_bind_by_name
  - ocicancel — Alias de oci_cancel
  - ocicloselob — Alias de OCILob::close
  - ocicollappend — Alias de OCICollection::append
  - ocicollassign — Alias de OCICollection::assign
  - ocicollassignelem — Alias de OCICollection::assignElem
  - ocicollgetelem — Alias de OCICollection::getElem
  - ocicollmax — Alias de OCICollection::max
  - ocicollsize — Alias de OCICollection::size
  - ocicolltrim — Alias de OCICollection::trim
  - ocicolumnisnull — Alias de oci_field_is_null
  - ocicolumnname — Alias de oci_field_name
  - ocicolumnprecision — Alias de oci_field_precision
  - ocicolumnscale — Alias de oci_field_scale
  - ocicolumnsize — Alias de oci_field_size
  - ocicolumntype — Alias de oci_field_type
  - ocicolumntyperaw — Alias de oci_field_type_raw
  - ocicommit — Alias de oci_commit
  - ocidefinebyname — Alias de oci_define_by_name
  - ocierror — Alias de oci_error
  - ociexecute — Alias de oci_execute
  - ocifetch — Alias de oci_fetch
  - ocifetchinto — Variante obsoleta de oci_fetch_array, oci_fetch_object, oci_fetch_assoc y oci_fetch_row
  - ocifetchstatement — Alias de oci_fetch_all
  - ocifreecollection — Alias de OCICollection::free
  - ocifreecursor — Alias de oci_free_statement
  - ocifreedesc — Alias de OCILob::free
  - ocifreestatement — Alias de oci_free_statement
  - ociinternaldebug — Alias de oci_internal_debug
  - ociloadlob — Alias de OCILob::load
  - ocilogoff — Alias de oci_close
  - ocilogon — Alias de oci_connect
  - ocinewcollection — Alias de oci_new_collection
  - ocinewcursor — Alias de oci_new_cursor
  - ocinewdescriptor — Alias de oci_new_descriptor
  - ocinlogon — Alias de oci_new_connect
  - ocinumcols — Alias de oci_num_fields
  - ociparse — Alias de oci_parse
  - ociplogon — Alias de oci_pconnect
  - ociresult — Alias de oci_result
  - ocirollback — Alias de oci_rollback
  - ocirowcount — Alias de oci_num_rows
  - ocisavelob — Alias de OCILob::save
  - ocisavelobfile — Alias de OCILob::import
  - ociserverversion — Alias de oci_server_version
  - ocisetprefetch — Alias de oci_set_prefetch
  - ocistatementtype — Alias de oci_statement_type
  - ociwritelobtofile — Alias de OCILob::export
  - ociwritetemporarylob — Alias de OCILob::writeTemporary