(PECL ibm_db2 >= 1.1.1)
db2_server_info — DB2 データベースサーバーの情報をプロパティに保持するオブジェクトを返す
$connection
): objectこの関数は、IBM DB2、Cloudscape あるいは Apache Derby データベースサーバーについての情報を 読み取り専用のプロパティに保持するオブジェクトを返します。 以下の表は、データベースサーバーのプロパティの一覧です。
プロパティ名 | 戻り値の型 | 説明 |
---|---|---|
DBMS_NAME | string |
接続中のデータベースサーバーの名前。DB2 サーバーの場合は、
DB2 の後にサーバーが稼動している OS
の名前が続きます。
|
DBMS_VER | string | データベースサーバーのバージョン。"MM.mm.uuuu" という形式の文字列で、 MM がメジャーバージョン、 mm がマイナーバージョン、 そして uuuu がアップデートを表します。 例えば "08.02.0001" は メジャーバージョン 8、マイナーバージョン 2、アップデート 1 を表します。 |
DB_CODEPAGE | int | 接続中のデータベースのコードページ。 |
DB_NAME | string | 接続中のデータベースの名前。 |
DFT_ISOLATION | string | サーバーがサポートしているデフォルトのトランザクション分離レベル。
|
IDENTIFIER_QUOTE_CHAR | string | 識別子を区切るための文字。 |
INST_NAME | string | データベースを含むデータベースサーバーのインスタンス名。 |
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 、サポートしていない場合に false 。
|
PROCEDURES | bool |
データベースサーバーがストアドプロシージャをコールするための
CALL 文をサポートしている場合に true 、サポートしていない場合に
false 。
|
SPECIAL_CHARS | string | 識別子として使用可能な文字のうち、 a-Z、0-9 およびアンダースコア以外の文字。 |
SQL_CONFORMANCE | string |
データベースサーバーの ANSI/ISO 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)