Forum und email

ODBC Funktionen

Einführung

Zusätzlich zur normalen ODBC-Unterstützung bieten die ODBC-Funktionen in PHP auch Schnittstellen zu einigen Datenbanken, die Ihre API der Semantik der ODBC-API nachempfunden haben. Statt vielen nahezu identischen Datenbanktreibern wurden diese Treiber zu einer einzigen Gruppe von ODBC-Funktionen zusammengefasst.

Die folgenden Datenbanken werden von den ODBC-Funktionen unterstützt: » Adabas D, » IBM DB2, » iODBC, » Solid und » Sybase SQL Anywhere.

Hinweis: Es ist kein echtes ODBC in die Kommunikation mit oben genannten Datenbanken involviert. Es handelt sich um echte native Datenbankschnittstellen, die den Funktionsnamen und den Funktionssyntax der ODBC-Funktionen nutzen. Die Ausnahme ist iODBC. Wenn PHP mit iODBC-Unterstützung kompiliert wird, können alle ODBC-kompatiblen Treiber mit PHP genutzt werden. iODBC wird von » OpenLink Software betreut. Mehr Informationen zu iODBC, unter anderem eine HOWTO, finden Sie auf » www.iodbc.org.

Anforderungen

Um die Datenbanken mit PHP nutzen zu können, sollten die dafür benötigten Bibliotheken installiert sein.

Installation

--with-adabas[=DIR]

Inkludiert Adabas D Unterstützung. DIR ist das Adabas Installationsverzeichnis. Default ist /usr/local.

--with-sapdb[=DIR]

Inkludiert SAP DB Unterstützung. DIR ist das SAP DB Installationsverzeichnis. Default ist /usr/local.

--with-solid[=DIR]

Inkludiert Solid Unterstützung. DIR ist das Solid Installationsverzeichnis. Default ist /usr/local/solid.

--with-ibm-db2[=DIR]

Inkludiert IBM DB2 Unterstützung. DIR ist das DB2 Installationsverzeichnis. Default ist /home/db2inst1/sqllib.

--with-empress[=DIR]

Inkludiert Empress Unterstützung. DIR ist das Empress Installationsverzeichnis. Default ist $EMPRESSPATH. Ab PHP4 unterstützt diese Option nur Empress Version 8.60 und höher.

--with-empress-bcs[=DIR]

Inkludiert Empress Local Access Unterstützung. DIR ist das Empress Installationsverzeichnis. Default ist $EMPRESSPATH. Ab PHP4 unterstützt diese Option nur Empress Version 8.60 und höher.

--with-birdstep[=DIR]

Inkludiert Birdstep Unterstützung. DIR ist das Birdstep Installationsverzeichnis. Default ist /usr/local/birdstep.

--with-custom-odbc[=DIR]

Inkludiert benutzerdefinierte ODBC Unterstützung. DIR ist das ODBC Installationsverzeichnis. Default ist /usr/local. Stellen Sie sicher, dass CUSTOM_ODBC_LIBS definiert ist und dass sich eine odbc.h in Ihrem Include Verzeichnis befindet. Z.B sollten Sie folgendes für Sybase SQL Anywhere 5.5.00 auf QNX definieren, bevor Sie das Configure Skript starten:

   CPPFLAGS="-DODBC_QNX -DSQLANY_BUG"
   LDFLAGS=-lunix
   CUSTOM_ODBC_LIBS="-ldblib -lodbc".

--with-iodbc[=DIR]

Inkludiert iODBC Unterstützung. DIR ist das iODBC Installationsverzeichnis. Default ist /usr/local.

--with-esoob[=DIR]

Inkludiert Easysoft OOB Unterstützung. DIR ist das OOB Installationsverzeichnis. Default ist /usr/local/easysoft/oob/client. defaults to

--with-unixODBC[=DIR]

Inkludiert unixODBC Unterstützung. DIR ist das unixODBC Installationsverzeichnis. Default ist //usr/local.

Inkludiert OpenLink ODBC Unterstützung. DIR ist das OpenLink Installationsverzeichnis. Default ist /usr/local. Dies ist das gleiche wie iODBC.

--with-dbmaker[=DIR]

Inkludiert DBMaker Unterstützung. DIR ist das DBMaker Installationsverzeichnis. Default ist, wo die letzte Version von DBMaker installiert ist (wie z.B. /home/dbmaker/3.6).

Um unified ODBC Unterstützung in PHP 3 zu deaktivieren, verwenden Sie die Option --disable-unified-odbc. Nur anwendbar, wenn iODBC, Adabas, Solid, Velocis oder eine spezielle ODBC Schnittstelle aktiviert ist.

Die Windowsversion von PHP enthält diese Erweiterung. Um diese Funktionen zu verwenden, müssen Sie keine zusätzlichen Erweiterungen aktivieren.

Laufzeit Konfiguration

Das Verhalten der ODBC-Funktionen wird von den Einstellungen in der globalen Konfigurationsdatei php.ini bestimmt.

ODBC-Konfigurationsoptionen
Name Standard Einstellbar in
odbc.default_db * NULL PHP_INI_ALL
odbc.default_user * NULL PHP_INI_ALL
odbc.default_pw * NULL PHP_INI_ALL
odbc.allow_persistent "1" PHP_INI_SYSTEM
odbc.check_persistent "1" PHP_INI_SYSTEM
odbc.max_persistent "-1" PHP_INI_SYSTEM
odbc.max_links "-1" PHP_INI_SYSTEM
odbc.defaultlrl "4096" PHP_INI_ALL
odbc.defaultbinmode "1" PHP_INI_ALL

Hinweis: Mit * markierte Einträge sind noch nicht implementiert.

Weitere Informationen und Definitionen der PHP_INI_*- Einstellungen finden Sie bei ini_set().

Hier eine kurze Erklärung der Konfigurationsoptionen:

odbc.default_db string

Standard-ODBC-Datenquelle, wenn in odbc_connect() oder odbc_pconnect() keine definiert wird.

odbc.default_user string

Nutzername, wenn in odbc_connect() oder odbc_pconnect() keiner angegeben wird.

odbc.default_pw string

Passwort, wenn keines in odbc_connect() oder odbc_pconnect() angegeben wird.

odbc.allow_persistent boolean

Einstellung, ob persistente ODBC-Verbindungen genutzt werden sollen.

odbc.check_persistent boolean

Aktiviert eine Überprüfung, ob eine persistente Datenbankverbindung noch aktiv ist, bevor sie weitergenutzt wird.

odbc.max_persistent integer

Die maximale Anzahl von persistenten ODBC-Verbindungen pro Prozess.

Die maximale Anzahl von ODBC-Verbindungen pro Prozess, inklusive persistenten Verbindungen.

odbc.defaultlrl integer

Bestimmt die Anzahl Bytes, mit denen ein LONG-Feld an PHP übergeben wird.

odbc.defaultbinmode integer

Definiert die Behandlung von Binärdaten.

Resource Typen

Diese Erweiterung definiert keine Resource-Typen.

Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

ODBC_TYPE (integer)
ODBC_BINMODE_PASSTHRU (integer)
ODBC_BINMODE_RETURN (integer)
ODBC_BINMODE_CONVERT (integer)
SQL_ODBC_CURSORS (integer)
SQL_CUR_USE_DRIVER (integer)
SQL_CUR_USE_IF_NEEDED (integer)
SQL_CUR_USE_ODBC (integer)
SQL_CONCURRENCY (integer)
SQL_CONCUR_READ_ONLY (integer)
SQL_CONCUR_LOCK (integer)
SQL_CONCUR_ROWVER (integer)
SQL_CONCUR_VALUES (integer)
SQL_CURSOR_TYPE (integer)
SQL_CURSOR_FORWARD_ONLY (integer)
SQL_CURSOR_KEYSET_DRIVEN (integer)
SQL_CURSOR_DYNAMIC (integer)
SQL_CURSOR_STATIC (integer)
SQL_KEYSET_SIZE (integer)
SQL_CHAR (integer)
SQL_VARCHAR (integer)
SQL_LONGVARCHAR (integer)
SQL_DECIMAL (integer)
SQL_NUMERIC (integer)
SQL_BIT (integer)
SQL_TINYINT (integer)
SQL_SMALLINT (integer)
SQL_INTEGER (integer)
SQL_BIGINT (integer)
SQL_REAL (integer)
SQL_FLOAT (integer)
SQL_DOUBLE (integer)
SQL_BINARY (integer)
SQL_VARBINARY (integer)
SQL_LONGVARBINARY (integer)
SQL_DATE (integer)
SQL_TIME (integer)
SQL_TIMESTAMP (integer)
SQL_TYPE_DATE (integer)
SQL_TYPE_TIME (integer)
SQL_TYPE_TIMESTAMP (integer)
SQL_BEST_ROWID (integer)
SQL_ROWVER (integer)
SQL_SCOPE_CURROW (integer)
SQL_SCOPE_TRANSACTION (integer)
SQL_SCOPE_SESSION (integer)
SQL_NO_NULLS (integer)
SQL_NULLABLE (integer)
SQL_INDEX_UNIQUE (integer)
SQL_INDEX_ALL (integer)
SQL_ENSURE (integer)
SQL_QUICK (integer)

Inhaltsverzeichnis