PHP Handbuch
Zurück |  | Weiter

# XCIX. 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.

> Anmerkung: 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`.

--with-openlink[=DIR]

  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.

Tabelle 1. 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

> Anmerkung: 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.

odbc.max_links integer

  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)

Zurück | Zum Anfang | Weiter
ociwritetemporarylob | Nach oben | odbc_autocommit