Php/docs/function.oci-set-module-name

提供:Dev Guides
< Php
移動先:案内検索

oci_set_module_name

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

oci_set_module_nameモジュール名を設定します


説明

oci_set_module_name ( resource $connection , string $module_name ) : bool

Oracle が追跡するモジュール名を設定します

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

V$SESSION のようなデータベース管理ビューから、 名称を後に問い合わせることができます。 それは例えば、 V$SQLAREA 及び DBMS_MONITOR.SERV_MOD_ACT_STAT_ENABLE と一緒に追跡とモニタリングのために使われることができます。

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


パラメータ

connection
oci_connect()oci_pconnect() あるいは oci_new_connect() が返す Oracle 接続 ID。
module_name
ユーザーが選んだ、長さが最高48バイトの string


返り値

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


注意

注意: Oracle のバージョン

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

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


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


例1 モジュール名を設定する

<?php$c = oci_connect('hr', 'welcome', 'localhost/XE');// モジュールを登録するoci_set_module_name($c, 'Home Page');// クエリを実行することで、ラウンドトリップを起こすコードの例:$s = oci_parse($c, 'select * from dual');oci_execute($s);oci_fetch_all($s, $res);sleep(30);?>

// スクリプトを実行中、管理者は使用中のモジュールを見ることができる

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

参考