Signatur
Beschreibung
db2_client_info() gibt ein stdClass-Objekt zurück, das Informationen über den lokalen DB2-Client enthält, der für die übergebene Datenbankverbindung verwendet wird. Die Eigenschaften beschreiben den installierten IBM DB2-Treiber sowie die Umgebung, in der der PHP-Prozess ausgeführt wird.
Die Funktion ist besonders nützlich zur Diagnose und Protokollierung: Man kann damit automatisiert prüfen, welcher DB2-Client-Treiber in einer Produktions- oder Testumgebung installiert ist, und so Versionskonflikte oder Kompatibilitätsprobleme erkennen.
Das zurückgegebene Objekt enthält unter anderem folgende Eigenschaften: APPL_CODEPAGE, CONN_CODEPAGE, DATA_SOURCE_NAME, DRIVER_NAME, DRIVER_ODBC_VER, DRIVER_VER, ODBC_SQL_CONFORMANCE, ODBC_VER. Diese Eigenschaften decken sowohl ODBC- als auch native DB2-Treiberinformationen ab.
Die Funktion ergänzt db2_server_info(), die entsprechende Informationen über den DB2-Server liefert. Beide Funktionen zusammen ermöglichen eine vollständige Bestandsaufnahme der Datenbankumgebung.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $connection Pflicht | resource | Eine aktive DB2-Datenbankverbindung, die zuvor mit db2_connect() oder db2_pconnect() erzeugt wurde. |
Rückgabewert
stdClass-Objekt mit Client-Eigenschaften zurück. Schlägt die Abfrage fehl (z. B. ungültige Verbindungsressource), wird false zurückgegeben.Beispiele
Client-Informationen ausgeben
<?php
$conn = db2_connect('SAMPLE', 'db2user', 'geheimespasswort');
if ($conn) {
$info = db2_client_info($conn);
if ($info) {
echo 'Treibername: ' . $info->DRIVER_NAME . PHP_EOL;
echo 'Treiberversion: ' . $info->DRIVER_VER . PHP_EOL;
echo 'ODBC-Version: ' . $info->ODBC_VER . PHP_EOL;
echo 'ODBC-Treibervers.: ' . $info->DRIVER_ODBC_VER . PHP_EOL;
echo 'SQL-Konformität: ' . $info->ODBC_SQL_CONFORMANCE . PHP_EOL;
echo 'Datenquellenname: ' . $info->DATA_SOURCE_NAME . PHP_EOL;
echo 'Verbindungs-CP: ' . $info->CONN_CODEPAGE . PHP_EOL;
echo 'Anwendungs-CP: ' . $info->APPL_CODEPAGE . PHP_EOL;
} else {
echo 'Fehler beim Abrufen der Client-Informationen.';
}
db2_close($conn);
} else {
echo 'Verbindung fehlgeschlagen: ' . db2_conn_errormsg();
}
Treiberversion für Kompatibilitätsprüfung auswerten
<?php
$conn = db2_connect('SAMPLE', 'db2user', 'geheimespasswort');
if ($conn) {
$info = db2_client_info($conn);
if ($info) {
// Mindestversion 10.x.x erforderlich
$version = $info->DRIVER_VER;
$hauptversion = (int) substr($version, 0, 2);
if ($hauptversion >= 10) {
echo 'DB2-Client-Treiber ist kompatibel (Version: ' . $version . ').';
} else {
echo 'Warnung: DB2-Client-Treiber ist veraltet (Version: ' . $version . ')!';
}
}
db2_close($conn);
}
// Wichtig · Fallstricke
Erweiterung erforderlich: Die Funktion db2_client_info() ist Teil der ibm_db2-Erweiterung, die separat installiert und in der php.ini aktiviert werden muss. Ohne diese Erweiterung ist die Funktion nicht verfügbar.
Verbindungsressource: Es muss eine gültige, aktive Verbindungsressource übergeben werden. Eine bereits geschlossene Verbindung führt zu false als Rückgabewert. Prüfen Sie den Rückgabewert stets auf false, bevor Sie auf die Eigenschaften des Objekts zugreifen, um Notice- oder Warning-Meldungen zu vermeiden.
Plattformunterschiede: Die konkreten Werte der zurückgegebenen Eigenschaften (insbesondere DRIVER_NAME) können je nach Betriebssystem variieren (Linux, Windows, AIX usw.).