(PECL ibm_db2 >= 1.6.0)
db2_get_option — 擷取陳述式資源或連線資源的選項值
resource (資源)
由 db2_prepare() 返回的有效敘述資源,或由 db2_connect() 或 db2_pconnect() 返回的有效連線資源。
option (選項)
有效的敘述或連線選項。ibm_db2 1.6.0 版起提供下列新選項。它們提供可在執行期間使用 db2_get_option() 設定的有用追蹤資訊。
注意事項:
先前版本的 ibm_db2 不支援這些新選項。
設定每個選項中的值時,某些伺服器可能無法處理提供的完整長度,並可能會截斷值。
為了確保傳輸到主機系統時,每個選項中指定的資料都能正確轉換,請僅使用 A 到 Z、0 到 9 以及底線 (_) 或句點 (.) 等字元。
userid (使用者 ID)
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 (使用者 ID) | 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 Connection Parameters */
$database = 'SAMPLE';
$user = 'db2inst1';
$password = 'ibmdb2';
/* Obtain Connection Resource */
$conn = db2_connect($database, $user, $password);
echo "Client attributes passed through connection string:\n";
/* Create the associative options array with valid key-value pairs */
/* Assign the attributes through connection string */
/* Access the options specified */
$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 "Client attributes passed post-connection:\n";
/* Create the associative options array with valid key-value pairs */
/* Assign the attributes after a connection is made */
/* Access the options specified */
$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