oci_set_client_identifier

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

oci_set_client_identifier — 클라이언트 식별자를 설정합니다.


설명

oci_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과 함께 사용할 수 있으며 감사에도 사용할 수 있습니다.

값은 동일한 영구 연결을 사용하는 페이지 요청에서 유지될 수 있습니다.


매개변수

connection
oci_connect(), oci_pconnect() 또는 oci_new_connect()가 반환하는 Oracle 연결 식별자입니다.
client_id
사용자가 최대 64바이트 길이의 문자열을 선택했습니다.

반환 값

성공하면 true를, 실패하면 false를 반환합니다.


Examples

예제 #1 클라이언트 식별자를 애플리케이션 사용자로 설정

                  
<?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);

// ...

?>
                    
                  

노트

주의

Round-trip Gotcha

모든 OCI8 기능이 아닌 일부 기능이 왕복을 유발합니다. 결과 캐싱이 활성화된 경우 쿼리와 함께 데이터베이스에 대한 왕복이 발생하지 않을 수 있습니다.


기타