(PECL ibm_db2 >= 1.1.1)
db2_server_info — Возвращает объект со свойствами, описывающими сервер базы данных DB2
Функция возвращает объект со свойствами только для чтения, которые возвращают информацию о сервере баз данных IBM DB2, Cloudscape или Apache Derby. В следующей таблице перечислены свойства сервера базы данных:
Название свойства | Тип возвращаемого значения | Описание |
---|---|---|
DBMS_NAME | string |
Имя сервера базы данных, к которому вы подключены. Для серверов DB2 это комбинация
DB2 , за которой следует операционная система,
в которой работает сервер базы данных.
|
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 |
true , если сервер базы данных поддерживает столбцы, которые можно определить как NOT NULL,
false , если сервер базы данных не поддерживает столбцы, определённые как NOT NULL.
|
PROCEDURES | bool |
true , если сервер базы данных поддерживает использование оператора CALL для вызова хранимых процедур,
false , если сервер базы данных не поддерживает оператор CALL.
|
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)