Signatur
Beschreibung
db2_server_info() liefert ein stdClass-Objekt, das zahlreiche Informationen über den DB2-Datenbankserver enthält, mit dem die übergebene Verbindung aufgebaut wurde. Typische Eigenschaften sind Datenbankproduktname, Versionsnummer, unterstützte SQL-Konformitätsstufen sowie weitere Fähigkeiten des Servers.
Die Funktion ist besonders nützlich, wenn eine Anwendung unterschiedliche DB2-Versionen oder -Varianten unterstützen muss und das Verhalten abhängig von Servermerkmalen anpassen soll – z. B. ob bestimmte SQL-Features verfügbar sind oder welche maximalen Identifier-Längen gelten.
Zu den häufig genutzten Eigenschaften des zurückgegebenen Objekts gehören unter anderem: DBMS_NAME (Produktname), DBMS_VER (Versionsstring), DB_CODEPAGE (Codepage der Datenbank), MAX_COL_NAME_LEN, MAX_TABLE_NAME_LEN, SQL_CONFORMANCE sowie viele weitere, die den Funktionsumfang des Servers beschreiben.
Die Funktion setzt eine aktive Datenbankverbindung voraus, die über db2_connect() oder db2_pconnect() erzeugt wurde. Im Fehlerfall – etwa bei ungültiger Verbindungsressource – wird false zurückgegeben.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $connection Pflicht | resource | Eine aktive DB2-Datenbankverbindung, die mit db2_connect() oder db2_pconnect() erzeugt wurde. |
Rückgabewert
stdClass-Objekt mit Eigenschaften des Datenbankservers bei Erfolg, oder false bei einem Fehler (z. B. ungültige Verbindungsressource).Beispiele
Serverversion und Produktname auslesen
<?php
$conn = db2_connect('SAMPLE', 'db2user', 'geheimesPasswort');
if ($conn) {
$serverInfo = db2_server_info($conn);
if ($serverInfo) {
echo 'Datenbankprodukt : ' . $serverInfo->DBMS_NAME . PHP_EOL;
echo 'Serverversion : ' . $serverInfo->DBMS_VER . PHP_EOL;
echo 'SQL-Konformität : ' . $serverInfo->SQL_CONFORMANCE . PHP_EOL;
} else {
echo 'Serverinformationen konnten nicht abgerufen werden.';
}
db2_close($conn);
} else {
echo 'Verbindung fehlgeschlagen: ' . db2_conn_errormsg();
}
Featureerkennung: maximale Tabellennamenslänge prüfen
<?php
$conn = db2_connect('SAMPLE', 'db2user', 'geheimesPasswort');
if ($conn) {
$info = db2_server_info($conn);
if ($info) {
$maxLen = $info->MAX_TABLE_NAME_LEN;
echo 'Maximale Tabellennamenslänge: ' . $maxLen . ' Zeichen' . PHP_EOL;
// Anwendungslogik anpassen
if ($maxLen >= 128) {
echo 'Lange Tabellennamen werden unterstützt.' . PHP_EOL;
} else {
echo 'Tabellennamen auf ' . $maxLen . ' Zeichen beschränken.' . PHP_EOL;
}
}
db2_close($conn);
}
// Wichtig · Fallstricke
Verfügbarkeit: db2_server_info() ist Teil der ibm_db2-Erweiterung, die separat installiert werden muss. Ohne diese Erweiterung ist die Funktion nicht verfügbar.
Eigenschaftsnamen: Die Eigenschaften des zurückgegebenen Objekts sind im ODBC/CLI-Standard definiert und können je nach DB2-Version variieren. Es empfiehlt sich, vor dem Zugriff auf eine Eigenschaft zu prüfen, ob sie mittels isset() gesetzt ist.
Abgrenzung: Für clientseitige Informationen (Treiber-Version, Betriebssystem des Clients usw.) steht db2_client_info() zur Verfügung.