db2_get_option

(PECL ibm_db2 >= 1.6.0)

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

描述

db2_get_option(resource $resource, string $option): string|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。

注意:

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

acctstr

SQL_ATTR_INFO_ACCTSTR - 指向一个空终止字符字符串的指针,用于标识在使用 DB2 Connect 时发送到主机数据库服务器的客户端记帐字符串。

注意:

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

applname

SQL_ATTR_INFO_APPLNAME - 指向一个空终止字符字符串的指针,用于标识在使用 DB2 Connect 时发送到主机数据库服务器的客户端应用程序名称。

注意:

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

wrkstnname

SQL_ATTR_INFO_WRKSTNNAME - 指向一个空终止字符字符串的指针,用于标识在使用 DB2 Connect 时发送到主机数据库服务器的客户端工作站名称。

注意:

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