PHP Conference Japan 2024

db2_get_option

(PECL ibm_db2 >= 1.6.0)

db2_get_option检索语句资源或连接资源的选项值

描述

db2_get_option(资源 $resource, 字符串 $option): 字符串|false

检索语句资源或连接资源的指定选项值的当前值。

参数

resource

来自 db2_prepare() 的有效语句资源,或来自 db2_connect()db2_pconnect() 的有效连接资源。

option

有效的语句或连接选项。从 ibm_db2 1.6.0 版开始,以下新选项可用。它们提供了有用的跟踪信息,可以在执行期间使用 db2_get_option() 设置。

注意:

早期版本的 ibm_db2 不支持这些新选项。

当设置每个选项中的值时,某些服务器可能无法处理提供的整个长度,并且可能会截断该值。

为了确保在传输到主机系统时每个选项中指定的数据正确转换,请仅使用 A 到 Z、0 到 9 以及下划线 (_) 或句点 (.) 字符。

userid

SQL_ATTR_INFO_USERID - 用于标识使用 DB2 Connect 发送到主机数据库服务器的客户端用户 ID 的以 null 结尾的字符字符串的指针。

注意:

DB2 for z/OS 和 OS/390 服务器支持最长 16 个字符。此用户 ID 不要与身份验证用户 ID 混淆,它仅用于识别目的,不用于任何授权。

acctstr

SQL_ATTR_INFO_ACCTSTR - 用于标识使用 DB2 Connect 发送到主机数据库服务器的客户端计费字符串的以 null 结尾的字符字符串的指针。

注意:

DB2 for z/OS 和 OS/390 服务器支持最长 200 个字符。

applname

SQL_ATTR_INFO_APPLNAME - 用于标识使用 DB2 Connect 发送到主机数据库服务器的客户端应用程序名称的以 null 结尾的字符字符串的指针。

注意:

DB2 for z/OS 和 OS/390 服务器支持最长 32 个字符。

wrkstnname

SQL_ATTR_INFO_WRKSTNNAME - 用于标识使用 DB2 Connect 发送到主机数据库服务器的客户端工作站名称的以 null 结尾的字符字符串的指针。

注意:

DB2 for z/OS 和 OS/390 服务器支持最长 18 个字符。

下表指定哪些选项与可用的资源类型兼容

资源-参数矩阵
资源类型
  连接 语句 结果集
userid SQL_ATTR_INFO_USERID X X -
acctstr SQL_ATTR_INFO_ACCTSTR X X -
applname SQL_ATTR_INFO_APPLNAME X X -
wrkstnname SQL_ATTR_INFO_WRKSTNNAME X X -

返回值

如果成功,则返回连接属性的当前设置;如果失败,则返回 false

示例

示例 #1 通过连接资源设置和检索参数

<?php
/* 数据库连接参数 */
$database = 'SAMPLE';
$user = 'db2inst1';
$password = 'ibmdb2';

/* 获取连接资源 */
$conn = db2_connect($database, $user, $password);

echo
"通过连接字符串传递的客户端属性:\n";

/* 使用有效的键值对创建关联选项数组 */
/* 通过连接字符串分配属性 */
/* 访问指定的选项 */
$options1 = array('userid' => 'db2inst1');
$conn1 = db2_connect($database, $user, $password, $options1);
$val = db2_get_option($conn1, 'userid');
echo
$val . "\n";

$options2 = array('acctstr' => 'account');
$conn2 = db2_connect($database, $user, $password, $options2);
$val = db2_get_option($conn2, 'acctstr');
echo
$val . "\n";

$options3 = array('applname' => 'myapp');
$conn3 = db2_connect($database, $user, $password, $options3);
$val = db2_get_option($conn3, 'applname');
echo
$val . "\n";

$options4 = array('wrkstnname' => 'workstation');
$conn4 = db2_connect($database, $user, $password, $options4);
$val = db2_get_option($conn4, 'wrkstnname');
echo
$val . "\n";

echo
"连接后传递的客户端属性:\n";

/* 使用有效的键值对创建关联选项数组 */
/* 建立连接后分配属性 */
/* 访问指定的选项 */
$options5 = array('userid' => 'db2inst1');
$conn5 = db2_connect($database, $user, $password);
$rc = db2_set_option($conn5, $options5, 1);
$val = db2_get_option($conn5, 'userid');
echo
$val . "\n";

$options6 = array('acctstr' => 'account');
$conn6 = db2_connect($database, $user, $password);
$rc = db2_set_option($conn6, $options6, 1);
$val = db2_get_option($conn6, 'acctstr');
echo
$val . "\n";

$options7 = array('applname' => 'myapp');
$conn7 = db2_connect($database, $user, $password);
$rc = db2_set_option($conn7, $options7, 1);
$val = db2_get_option($conn7, 'applname');
echo
$val . "\n";

$options8 = array('wrkstnname' => 'workstation');
$conn8 = db2_connect($database, $user, $password);
$rc = db2_set_option($conn8, $options8, 1);
$val = db2_get_option($conn8, 'wrkstnname');
echo
$val . "\n";
?>

以上示例将输出

Client attributes passed through connection string:
db2inst1
account
myapp
workstation
Client attributes passed post-connection:
db2inst1
account
myapp
workstation

参见

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top