(PHP 5.3.2, PECL OCI8 >= 1.4.0)
oci_set_client_identifier — Définit l'identifiant du client
Définit l'identifiant du client, utilisé par de nombreux composants de la base de données pour identifier les utilisateurs de l'application qui s'authentifie avec le même nom d'utilisateur de base de données.
L'identifiant du client est enregistrée avec la base de données lorsque le prochain 'roundtrip' depuis PHP vers la base de données est effectué ; typiquement, l'exécution d'une requête SQL.
L'identifiant peut par la suite être interrogé depuis une vue de l'administration de la base de données, comme la vue V$SESSION. Il peut être utilisé avec DBMS_MONITOR.CLIENT_ID_TRACE_ENABLE dans le cadrage d'un tracage. Il peut également être utilisé dans le cadre d'un audit.
La valeur peut être conservée via le mécanisme des connexions persistantes.
Un identifiant de connexion Oracle, retourné par la fonction oci_connect(), oci_pconnect() ou la fonction oci_new_connect().
Chaîne choisie par l'utilisateur, supérieur à 64 octets de long.
Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.
Exemple #1 Définit l'identifiant du client à l'utilisateur de l'application
<?php
// Retrouve le nom utilisé pour l'identification de l'utilisateur de l'application
session_start();
$un = my_validate_session($_SESSION['username']);
$c = oci_connect('myschema', 'welcome', 'localhost/XE');
// Demande à Oracle qui est cet utilisateur
oci_set_client_identifier($c, $un);
// Le prochain roundtrip vers la base de données validera cet identifiant
$s = oci_parse($c, 'select mydata from mytable');
oci_execute($s);
// ...
?>
Quelques fonctions OCI8 nécessitent des allé-retours avec la base de données. Ces allé-retours peuvent être évités lors de l'utilisation de requêtes dont le résultat est mis en cache.