# oci_set_module_name

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

oci_set_module_name — Sets the module name

### 说明

oci_set_module_name(resource `$connection`, string `$name`): bool

Sets the module name for Oracle tracing.

The module name is registered with the database when the next 'round-trip' from PHP to the database occurs, typically when an SQL statement is executed.

The name can subsequently be queried from database administration views such as `V$SESSION`. It can be used for tracing and monitoring such as with `V$SQLAREA` and `DBMS_MONITOR.SERV_MOD_ACT_STAT_ENABLE`.

The value may be retained across persistent connections.

### 参数

`connection`

  Oracle 连接标识，由 oci_connect()，oci_pconnect()，或 oci_new_connect() 返回。

`name`

  User chosen string up to 48 bytes long.

### 返回值

成功时返回 `true`， 或者在失败时返回 `false`。

### 示例

示例 #1 Setting the module name

`<?php
$c = oci_connect('hr', 'welcome', 'localhost/XE');
// Record the module
oci_set_module_name($c, 'Home Page');
// Code that causes a round-trip, for example a query:
$s = oci_parse($c, 'select * from dual');
oci_execute($s);
oci_fetch_all($s, $res);
sleep(30);
?>`

    // While the script is running, the administrator can see the
    // modules in use:

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

### 注释

> 注意: Oracle 版本需求

> 当 PHP 是与 Oracle 数据库 10g 及更新版本的 扩展库链接时，此函数可用。

小技巧

# 性能

使用旧版的 OCI8 或 ORACLE 数据库，可使用 Oracle `DBMS_APPLICATION_INFO` 包来设置客户端信息。这比使用 oci_set_client_info() 较低效。

警告

# Roundtrip Gotcha

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

### 参见

- oci_set_action() - Sets the action name
- oci_set_client_info() - Sets the client information
- oci_set_client_identifier() - Sets the client identifier
- oci_set_db_operation() - Sets the database operation

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open