(PECL ibm_db2 >= 1.1.1)
db2_server_info — Retourne un objet avec des propriétés qui décrivent le serveur de base de données DB2
Cette fonction retourne un objet avec des propriétés en lecture seule qui retournent des informations à propos du serveur de base de données IBM DB2, Cloudscape ou Apache Derby. La table suivante liste les propriétés du serveur de base de données :
| Nom de la propriété | Type de retour | Description |
|---|---|---|
| DBMS_NAME | string | Le nom du serveur de base de données sur lequel l'on est
connecté. Pour des serveurs DB2, c'est une combinaison de
DB2 suivi par le système d'exploitation sur lequel
le serveur de base de données fonctionne. |
| DBMS_VER | string | La version du serveur de la base de données, dans la forme d'une
string "MM.mm.uuuu" où MM est la version majeure,
mm est la version mineure et uuuu
est la mise à jour. Par exemple, "08.02.0001" représente la version
majeure 8, la version mineure 2, la mise à jour 1.
|
| DB_CODEPAGE | int | Le code page de la base de données sur laquelle l'on est connecté. |
| DB_NAME | string | Le nom de la base de données sur laquelle l'on est connecté. |
| DFT_ISOLATION | string |
Le niveau par défaut d'isolation de transaction supporté par le serveur :
|
| IDENTIFIER_QUOTE_CHAR | string | Le caractère utilisé pour délimiter un identifiant. |
| INST_NAME | string | L'instance sur le serveur de base de données qui contient la base de données. |
| ISOLATION_OPTION | array | Un tableau des options d'isolation supportées par le serveur de base de données. Les options d'isolation sont décrites dans la propriété DFT_ISOLATION. |
| KEYWORDS | array | Un tableau des mots-clés réservés par le serveur de base de données. |
| LIKE_ESCAPE_CLAUSE | bool | true si le serveur de base de données supporte l'utilisation
des caractères de remplacement % et
_. false si le serveur de base de données ne
supporte pas ces caractères de remplacement. |
| MAX_COL_NAME_LEN | int | Taille maximale d'un nom de colonne supportée par le serveur de base de données, exprimée en octets. |
| MAX_IDENTIFIER_LEN | int | Taille maximale d'un identifiant SQL supportée par les serveurs de base de données, exprimée en caractères. |
| MAX_INDEX_SIZE | int | Taille maximale des colonnes combinées dans un index supportée par le serveur de base de données, exprimée en octets. |
| MAX_PROC_NAME_LEN | int | Taille maximale d'un nom de procédure supportée par le serveur de base de données, exprimée en octets. |
| MAX_ROW_SIZE | int | Taille maximale d'une ligne dans la table de base supportée par le serveur de base de données, exprimée en octets. |
| MAX_SCHEMA_NAME_LEN | int | Taille maximale d'un nom de schéma supportée par le serveur de base de données, exprimée en octets. |
| MAX_STATEMENT_LEN | int | Taille maximale d'une requête SQL supportée par le serveur de base de données, exprimée en octets. |
| MAX_TABLE_NAME_LEN | int | Taille maximale d'un nom de table supportée par le serveur de base de données, exprimée en octets. |
| NON_NULLABLE_COLUMNS | bool | true si le serveur de base de données supporte les colonnes
qui peuvent être définies comme NOT NULL, false si le serveur de base
de données ne supporte pas les colonnes définies comme NOT
NULL. |
| PROCEDURES | bool | true si le serveur de base de données supporte l'utilisation
de la requête CALL pour appeler les procédures stockées, false si
le serveur de base de données ne supporte pas la requête CALL. |
| SPECIAL_CHARS | string | Une string contenant tous les caractères autres que les lettres (majuscules et minuscules), les chiffres et le caractère souligné qui peuvent être utilisés en tant que nom d'identifiant. |
| SQL_CONFORMANCE | string |
Le niveau de conformité à la spécification ANSI/ISO SQL-92 offert par le serveur de base de données :
|
connection
Retourne un objet si l'appel est réussi, ou false si une erreur survient
Exemple #1 Exemple avec db2_server_info()
Pour récupérer des informations à propos du serveur, il faut passer une ressource de connexion de base de données valide à la fonction 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);
}
?>L'exemple ci-dessus va afficher :
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)