OCI8 函数
在线手册:中文  英文

oci_set_client_identifier

(PHP 5.3.2, PECL OCI8 >= 1.4.0)

oci_set_client_identifierSets the client identifier

说明

bool oci_set_client_identifier ( resource $connection , string $client_identifier )

Sets the client identifier used by various database components to identify lightweight application users who authenticate as the same database user.

The client identifier is registered with the database when the next 'roundtrip' from PHP to the database occurs, typically when an SQL statement is executed.

The identifier can subsequently be queried from database administration views such as V$SESSION. It can be used with DBMS_MONITOR.CLIENT_ID_TRACE_ENABLE for tracing. It can be used for auditing.

The value may be retained across persistent connections.

参数

connection

Oracle 连接标识,由 oci_connect()oci_pconnect(),或 oci_new_connect() 返回。

client_identifier

User chosen string up to 64 bytes long.

返回值

成功时返回 TRUE, 或者在失败时返回 FALSE

范例

Example #1 Setting the client identifier to the application user

<?php

// Find the application user's login name
session_start();
$un my_validate_session($_SESSION['username']);
$c oci_connect('myschema''welcome''localhost/XE');

// Tell Oracle who that user is
oci_set_client_identifier($c$un);

// The next roundtrip to the database will piggyback the identifier
$s oci_parse($c'select mydata from mytable');
oci_execute($s);

// ...

?>

注释

Caution

Roundtrip Gotcha

一些 OCI8 函数会导致 Roundtrips. 对数据库来说当启用结果缓存时,查询可能不产生Roundtrips。

参见


OCI8 函数
在线手册:中文  英文

用户评论:

sixd at php dot net (2011-04-18 16:22:51)

There's an article "PHP Web Auditing, Authorization and Monitoring with Oracle Database" at www.oracle.com/technetwork/articles/dsl/php-web-auditing-171451.html which is all about using oci_set_client_identifier()

易百教程