(PHP 5, PECL OCI8 >= 1.1.0)
oci_pconnect — Connect to an Oracle database using a persistent connection
$username
, string $password
[, string $connection_string
[, string $character_set
[, int $session_mode
]]] )Creates a persistent connection to an Oracle server and logs on.
Persistent connections are cached and re-used between requests, resulting in reduced overhead on each page load; a typical PHP application will have a single persistent connection open against an Oracle server per Apache child process (or PHP FastCGI/CGI process). See the Persistent Database Connections section for more information.
username
The Oracle user name.
password
The password for username
.
connection_string
Contiene la Instancia Oracle a conectarse. Puede ser una » Cadena de fácil conexión, o un Nombre de Conexión del fichero tnsnames.ora, o del nombre de una instancia local de Oracle.
Si no se especifica, PHP utiliza
variables de entorno como TWO_TASK
(en Linux)
o LOCAL
(en Windows)
y ORACLE_SID
para determinar la
instancia Oracle a conectarse.
Para utilizar el método de conexión fácil de nomenclatura, PHP debe estar enlazado con Oracle con las librerias de cliente 10g o superiores. La cadena de fácil conexión para Oracle de 10g se usa de la siguiente forma: [//]host_name[:port][/service_name]. Con Oracle 11g, la sintaxis es: [//]host_name[:port][/service_name][:server_type][/instance_name]. Los nombres de servicio pueden encontrarse ejecuntado la utilidad de Oracle lsnrctl status en el servidor donde está la base de datos.
El fichero tnsnames.ora puede estar en la ruta de búsqueda de la red de Oracle, que incluye $ORACLE_HOME/network/admin y /etc. De forma alternativa define TNS_ADMIN para que $TNS_ADMIN/tnsnames.ora sea leído. Asegúrse que el dominio web tiene acceso de lectura al fichero.
character_set
Determina el juego de caracteres usado por las librerías cliente de Oracle. El juego de caracteres no tiene porque coinicidir con el que está definido en la base de datos. Si no coinicide, Oracle intentará hacer lo posible para convertir los datos en el juego de caracteres de la base de datos. Dependiendo del tipo de juego de caracteres que se este usando puede no dar resultados útiles. La conversión también añade sobrecarga en el tiempo.
Si no es especificado, las librerias
cliente de Oracle determinan el juego de caracteres desde
la variable global NLS_LANG
.
Pasar este parámetro puede reducir tiempo de conexión.
session_mode
Este
parámetro está disponible desde la versión PHP 5 (PECL OCI8 1.1) y acepta los
siguientes valores: OCI_DEFAULT
,
OCI_SYSOPER
y OCI_SYSDBA
.
Si cualquiera de OCI_SYSOPER
o
OCI_SYSDBA
son especificados, esta función intentará
establecer una conexión privilegiada con las credenciales exteriores.
Las conexiones privilegiadas están desactivadas por defecto. Para activarlas
tiene que establecer oci8.privileged_connect
a On.
En PHP 5.3 (PECL OCI8 1.3.4) se introdujo el modo valor
OCI_CRED_EXT
. Esto indica a Oracle usar
External o autenticación OS , que debe estar configurado en la
base de datos. La flag OCI_CRED_EXT
sólo puede ser usada
con el nombre de usuario "/" y la contraseña en blanco.
oci8.privileged_connect
puede que esté On o Off.
OCI_CRED_EXT
puede que esté en combinación con los modos
OCI_SYSOPER
o
OCI_SYSDBA
.
OCI_CRED_EXT
no está soportado en Windows por
razones de seguridad.
Returns a connection identifier or FALSE
on error.
Nota: Starting with PHP 5.1.2 and PECL oci8 1.1, the lifetime and maximum number of persistent Oracle connections can be tuned by setting the following configuration values: oci8.persistent_timeout, oci8.ping_interval and oci8.max_persistent.
Nota:
In PHP versions before 5.0.0 you must use ociplogon() instead. El nombre viejo de la función todavía puede ser utilizado en versiones actuales, sin embargo es obsoleto y no se recomienda.