PHP 8.4.2 Released!

oci_set_client_info

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

oci_set_client_infoクライアント情報を設定する

説明

oci_set_client_info(resource $connection, string $client_info): bool

Oracle が追跡するクライアント情報を設定します。

PHP からデータベースへの次の「ラウンドトリップ」が起きると、 クライアント情報がデータベースに登録されます。これは一般的にSQLステートメントが実行されるときに起こります。

V$SESSION のようなデータベース管理ビューから、 クライアント情報を後に問い合わせることができます。

この関数で設定した値は、持続的接続をまたがって保持される可能性があります。

パラメータ

connection

oci_connect()oci_pconnect() あるいは oci_new_connect() が返す Oracle 接続 ID。

client_info

ユーザーが選んだ、長さが最高64バイトの文字列。

戻り値

成功した場合に true を、失敗した場合に false を返します。

例1 クライアント情報を設定する

<?php

$c
= oci_connect('hr', 'welcome', 'localhost/XE');

// クライアント情報を登録する
oci_set_client_info($c, 'My Application Version 2');

// クエリを実行することで、ラウンドトリップを起こすコードの例:
$s = oci_parse($c, 'select * from dual');
oci_execute($s);
oci_fetch_all($s, $res);

sleep(30);

?>
// スクリプトを実行中、管理者はクライアント情報を見ることができる

sqlplus system/welcome
SQL> select client_info from v$session;

注意

注意: Oracle のバージョン

この関数が使えるのは、PHP をバージョン 10g 以降の Oracle データベースライブラリとリンクさせた場合だけです。

ヒント

パフォーマンス

古いバージョンの OCI8 や Oracle データベースでは、クライアントの情報を Oracle の DBMS_APPLICATION_INFO パッケージで設定することができました。 それよりも oci_set_client_info() を使うほうが効率的です。

警告

データベースとのやりとりに関するメモ

OCI8 関数の中には、データベースとのやりとりを伴わないものもあります。 たとえば、結果のキャッシングが有効になっている場合、 クエリを実行してもデータベースとのやりとりを行わない可能性があります。

参考

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top