# oci_set_client_identifier

(PHP 5 >= 5.3.2, PHP 7, PHP 8, PECL OCI8 >= 1.4.0)

oci_set_client_identifier — Establece el identificador del cliente

### Descripción

oci_set_client_identifier(resource `$connection`, string `$client_identifier`): bool

Establece el identificador del cliente usado por varios componentes de la base de datos para identificar usuarios de aplicaciones ligeras que se identificaron con el mismo usuario de base de datos.

El identificador del cliente se registra con la base de datos cuando ocurra el siguiente "viaje de ida y vuelta" desde PHP a la base de datos, normalemnte cuando una sentencia SQL es ejecutada.

El identificador puede ser consultado subsiguientemente, por ejemplo, con `SELECT SYS_CONTEXT('USERENV','CLIENT_IDENTIFIER') FROM DUAL`. Las vistas de administración de la base de datos como `V$SESSION` también contendrán el valor. Se puede usar con `DBMS_MONITOR.CLIENT_ID_TRACE_ENABLE` para rastreo y también para auditoría.

El valor podría mantenerse entre peticiones de páginas que usen la misma conexión persistente.

### Parámetros

`connection`

  Un identificador de conexión de Oracle, devuelto por oci_connect(), oci_pconnect(), o oci_new_connect().

`client_identifier`

  La cadena elegida por el usuario, hasta 64 bytes de longitud.

### Valores devueltos

Devuelve `true` en caso de éxito o `false` en caso de error.

### Ejemplos

Ejemplo #1 Establecer el identificador del cliente para el usuario de la aplicación

`<?php
// Buscar el nombre de identificación de usuario de la aplicación
session_start();
$un = my_validate_session($_SESSION['username']);
$c = oci_connect('myschema', 'welcome', 'localhost/XE');
// Indicar a Oracle qué usuario es
oci_set_client_identifier($c, $un);
// El siguiente viaje de ida y vuelta a la base de datos adjuntará el identificador
$s = oci_parse($c, 'select mydata from mytable');
oci_execute($s);
// ...
?>`

### Notas

Precaución

# Problema con los viajes de ida y vuelta

Algunas, pero no todas, las funciones de OCI8 causan viajes de ida y vuelta. Estos podrían no ocurrir con las consultas cuando está habilitado el almacenamiento en caché de resultados.

### Ver también

- oci_set_module_name() - Establece el nombre de un módulo
- oci_set_action() - Establece el nombre de una acción
- oci_set_client_info() - Establece la información del cliente