Índice

Utilización de Oracle Oracle

1. Preámbulo

La extensión «Oracle OCI8», al contrario de lo que su nombre pueda hacernos pensar, se puede utilizar para acceder a cualquier versión de Oracle (9i, 10g, 11g y 12c). Esta extensión es muy completa y muy potente; permite utilizar los tipos LOB y ROWID y establecer vínculos entre las variables PHP y las variables en la consulta SQL (concepto de «bind variable»).

2. Entorno NLS Oracle:entorno NLS

El entorno NLS (National Language Support), utilizado en la ejecución de las consultas, se define por medio de las variables de entorno habituales colocadas en el servidor que ejecuta PHP:

  • NLS_LANG

  • NLS_DATE_FORMAT...

Si estas variables de entorno no se han establecido, se toma el valor predeterminado de Oracle Server.

Esto puede dar lugar a diferencias de funcionamiento de un mismo programa entre dos entornos. Por ejemplo, si recupera en una consulta una columna de tipo DATE, se realiza una conversión en cadena automáticamente (ya que PHP no admite el tipo DATE como tal) según el parámetro NLS_DATE_FORMAT activo; dependiendo de la configuración y el entorno, la cadena recuperada puede tener diferentes formatos (DD/MM/AAAA, DD-MON-YY...).

Problemas similares ocurren con los datos numéricos que también se convierten en una cadena con un separador decimal y un separador de grupo que puede variar en función del entorno.

Si no se controla el entorno, es posible actuar al nivel de código PHP para obtener un código ...