(PECL ibm_db2 >= 1.1.1)
db2_server_info — DB2 データベースサーバーの情報をプロパティに保持するオブジェクトを返す
この関数は、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)
