aci_set_client_identifier¶
aci_set_client_identifier-设置客户端标识符
说明¶
aci_set_client_identifier(resource $connection, string $client_id): bool
设置各种数据库组件使用的客户端标识符,以标识作为同一数据库用户进行身份验证的轻量级应用程序用户。
当从PHP到数据库的下一次“往返”发生时(通常是在执行SQL语句时),客户端标识符将注册到数据库。
随后可以查询标识符,例如使用SELECT SYS_CONTEXT('USERENV','CLIENT_identifier')FROM DUAL。数据库管理视图(如V$SESSION)也将包含该值。它可以与DBMS_MONITOR一起使用。CLIENT_ID_TRACE_ENABLE用于跟踪,也可用于审计。
该值可以在使用相同持久连接的页面请求之间保留。
参数¶
数据库连接标识,由 aci_connect(),aci_pconnect(),或 aci_new_connect() 返回。
User chosen string up to 64 bytes long.
返回值¶
成功时返回 true, 或者在失败时返回 false。
范例¶
示例 #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 = aci_connect('myschema', 'welcome', 'localhost/XE');
// Tell Oracle who that user is
aci_set_client_identifier($c, $un);
// The next round-trip to the database will piggyback the identifier
$s = aci_parse($c, 'select mydata from mytable');
aci_execute($s);
// ...
?>
注释¶
警告
警告 Roundtrip Gotcha 一些 ACI8 函数会导致 Roundtrips. 对数据库来说当启用结果缓存时,查询可能不产生 Roundtrips。