PHP Handbuch
Zurück |  | Nach vorne

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

Bitte schauen Sie sich den Abschnitt Installationsoptionen für Datenbanken an, dort finden Sie zusätzliche Informationen wie PHP für diese Datenbanken konfiguriert werden muss.

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