PHP Conference Japan 2024

db2_server_info

(PECL ibm_db2 >= 1.1.1)

db2_server_info傳回一個物件,其屬性描述 DB2 資料庫伺服器

說明

db2_server_info(資源 $connection): stdClass|false

此函式會傳回一個物件,其中包含唯讀屬性,這些屬性會傳回有關 IBM DB2、Cloudscape 或 Apache Derby 資料庫伺服器的資訊。下表列出資料庫伺服器屬性

資料庫伺服器屬性
屬性名稱 傳回類型 說明
DBMS_NAME 字串 您所連線的資料庫伺服器名稱。對於 DB2 伺服器,這是 `DB2` 加上資料庫伺服器執行所在的作業系統的組合。
DBMS_VER 字串 資料庫伺服器的版本,格式為字串 "MM.mm.uuuu",其中 MM 為主要版本,mm 為次要版本,uuuu 為更新版本。例如,"08.02.0001" 代表主要版本 8,次要版本 2,更新版本 1。
DB_CODEPAGE int (整數) 您所連線的資料庫的字碼頁。
DB_NAME 字串 您所連線的資料庫名稱。
DFT_ISOLATION 字串

伺服器支援的預設交易隔離層級

UR

未提交讀取:所有並行交易都可以立即看到變更。

CS

游標穩定性:一個交易讀取的列可以被另一個並行交易更改並提交。

RS

讀取穩定性:交易可以新增或移除符合搜尋條件或待決交易的列。

RR

可重複讀取:待決交易影響的資料對其他交易不可用。

NC

無提交:任何變更在操作成功完成後才會顯示。不允許明確的提交和回滾。

IDENTIFIER_QUOTE_CHAR 字串 用於分隔識別碼的字元。
INST_NAME 字串 資料庫伺服器上包含資料庫的實例。
ISOLATION_OPTION array (陣列) 資料庫伺服器支援的隔離選項陣列。隔離選項在 DFT_ISOLATION 屬性中描述。
KEYWORDS array (陣列) 資料庫伺服器保留的關鍵字陣列。
LIKE_ESCAPE_CLAUSE bool (布林值) 如果資料庫伺服器支援使用 `%` 和 `_` 萬用字元,則為 **`true`**。如果資料庫伺服器不支援這些萬用字元,則為 **`false`**。
MAX_COL_NAME_LEN int (整數) 資料庫伺服器支援的欄位名稱最大長度,以位元組表示。
MAX_IDENTIFIER_LEN int (整數) 資料庫伺服器支援的 SQL 識別碼最大長度,以字元表示。
MAX_INDEX_SIZE int (整數) 資料庫伺服器支援的索引中組合欄位的最大大小,以位元組表示。
MAX_PROC_NAME_LEN int (整數) 資料庫伺服器支援的程序名稱最大長度,以位元組表示。
MAX_ROW_SIZE int (整數) 資料庫伺服器支援的基表中列的最大長度,以位元組表示。
MAX_SCHEMA_NAME_LEN int (整數) 資料庫伺服器支援的結構描述名稱最大長度,以位元組表示。
MAX_STATEMENT_LEN int (整數) 資料庫伺服器支援的 SQL 陳述式最大長度,以位元組表示。
MAX_TABLE_NAME_LEN int (整數) 資料庫伺服器支援的表格名稱最大長度,以位元組表示。
NON_NULLABLE_COLUMNS bool (布林值) 如果資料庫伺服器支援定義為 NOT NULL 的欄位,則為 **`true`**;如果不支援定義為 NOT NULL 的欄位,則為 **`false`**。
PROCEDURES bool (布林值) 如果資料庫伺服器支援使用 CALL 陳述式來呼叫預存程序,則為 **`true`**;如果不支援 CALL 陳述式,則為 **`false`**。
SPECIAL_CHARS 字串 包含可在識別碼名稱中使用的所有 a-Z、0-9 和底線以外字元的字串。
SQL_CONFORMANCE 字串

資料庫伺服器提供的 ANSI/ISO SQL-92 規範符合程度

ENTRY

入門級 SQL-92 符合性。

FIPS127

FIPS-127-2 過渡符合性。

FULL

完全符合 SQL-92 規範。

INTERMEDIATE

中級 SQL-92 符合性。

參數

connection (連線)

指定有效的 DB2 用戶端連線。

傳回值

呼叫成功時返回一個物件,失敗時返回 false

範例

範例 #1 db2_server_info() 範例

要擷取伺服器相關資訊,您必須傳遞有效的資料庫連線資源給 db2_server_info()

<?php

$conn
= db2_connect('sample', 'db2inst1', 'ibmdb2');

$server = db2_server_info( $conn );

if (
$server) {
echo
"DBMS_NAME: "; var_dump( $server->DBMS_NAME );
echo
"DBMS_VER: "; var_dump( $server->DBMS_VER );
echo
"DB_CODEPAGE: "; var_dump( $server->DB_CODEPAGE );
echo
"DB_NAME: "; var_dump( $server->DB_NAME );
echo
"INST_NAME: "; var_dump( $server->INST_NAME );
echo
"SPECIAL_CHARS: "; var_dump( $server->SPECIAL_CHARS );
echo
"KEYWORDS: "; var_dump( sizeof($server->KEYWORDS) );
echo
"DFT_ISOLATION: "; var_dump( $server->DFT_ISOLATION );
echo
"ISOLATION_OPTION: ";
$il = '';
foreach(
$server->ISOLATION_OPTION as $opt )
{
$il .= $opt." ";
}
var_dump( $il );
echo
"SQL_CONFORMANCE: "; var_dump( $server->SQL_CONFORMANCE );
echo
"PROCEDURES: "; var_dump( $server->PROCEDURES );
echo
"IDENTIFIER_QUOTE_CHAR: "; var_dump( $server->IDENTIFIER_QUOTE_CHAR );
echo
"LIKE_ESCAPE_CLAUSE: "; var_dump( $server->LIKE_ESCAPE_CLAUSE );
echo
"MAX_COL_NAME_LEN: "; var_dump( $server->MAX_COL_NAME_LEN );
echo
"MAX_ROW_SIZE: "; var_dump( $server->MAX_ROW_SIZE );
echo
"MAX_IDENTIFIER_LEN: "; var_dump( $server->MAX_IDENTIFIER_LEN );
echo
"MAX_INDEX_SIZE: "; var_dump( $server->MAX_INDEX_SIZE );
echo
"MAX_PROC_NAME_LEN: "; var_dump( $server->MAX_PROC_NAME_LEN );
echo
"MAX_SCHEMA_NAME_LEN: "; var_dump( $server->MAX_SCHEMA_NAME_LEN );
echo
"MAX_STATEMENT_LEN: "; var_dump( $server->MAX_STATEMENT_LEN );
echo
"MAX_TABLE_NAME_LEN: "; var_dump( $server->MAX_TABLE_NAME_LEN );
echo
"NON_NULLABLE_COLUMNS: "; var_dump( $server->NON_NULLABLE_COLUMNS );

db2_close($conn);
}
?>

上述範例將輸出

DBMS_NAME: string(9) "DB2/LINUX"
DBMS_VER: string(10) "08.02.0000"
DB_CODEPAGE: int(1208)
DB_NAME: string(6) "SAMPLE"
INST_NAME: string(8) "db2inst1"
SPECIAL_CHARS: string(2) "@#"
KEYWORDS: int(179)
DFT_ISOLATION: string(2) "CS"
ISOLATION_OPTION: string(12) "UR CS RS RR "
SQL_CONFORMANCE: string(7) "FIPS127"
PROCEDURES: bool(true)
IDENTIFIER_QUOTE_CHAR: string(1) """
LIKE_ESCAPE_CLAUSE: bool(true)
MAX_COL_NAME_LEN: int(30)
MAX_ROW_SIZE: int(32677)
MAX_IDENTIFIER_LEN: int(18)
MAX_INDEX_SIZE: int(1024)
MAX_PROC_NAME_LEN: int(128)
MAX_SCHEMA_NAME_LEN: int(30)
MAX_STATEMENT_LEN: int(2097152)
MAX_TABLE_NAME_LEN: int(128)
NON_NULLABLE_COLUMNS: bool(true)

另請參閱

新增註解

使用者貢獻的註解

此頁面沒有使用者貢獻的註解。
To Top