• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • oci_set_client_identifier()

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

    Sets the client identifier

    说明

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

    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 'round-trip' from PHP to the database occurs, typically when an SQL statement is executed.

    The identifier can subsequently be queried, for example withSELECT SYS_CONTEXT('USERENV','CLIENT_IDENTIFIER')FROM DUAL. Database administration views such asV$SESSIONwill also contain the value. It can be used withDBMS_MONITOR.CLIENT_ID_TRACE_ENABLEfor tracing and can also be used for auditing.

    The value may be retained across page requests that use the same persistent connection.

    参数

    $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 round-trip to the database will piggyback the identifier
    $s = oci_parse($c, 'select mydata from mytable');
    oci_execute($s);
    // ...
    ?>
    

    注释

    Caution

    Roundtrip Gotcha

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

    参见

    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()