PHP Handbuch
Zurück |  | Nach vorne

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

The windows version of `PHP` has built in support for this extension. You do not need to load any additional extension in order to use these functions.

# 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 | Nach vorne
nsapi_virtual | Nach oben | odbc_autocommit