PHP Handbuch
Zurück |  | Nach vorne

# LX. Microsoft SQL Server Funktionen

# Einführung

Diese Funktionen ermöglichen Ihnen den Zugriff auf den MS SQL-Datenbankserver.

# Anforderungen

Voraussetzungen für Win32-Plattformen.

Für die Erweiterung müssen die MS SQL Client Tools auf dem System installiert sein auf dem PHP installiert ist. Die Client Tools können entweder von der MS SQL Server-CD oder durch Kopieren von `ntwdblib.dll` von `\winnt\system32` auf dem Server nach `\winnt\system32` auf dem PHP-Rechner installiert werden. Das Kopieren von `ntwdblib.dll` unterstützt nur den Zugriff. Für die Konfiguration des Clients ist eine Installation aller Tools nötig.

Voraussetzungen für Unix/Linux-Plattformen.

Um die MSSQL-Erweiterung unter Unix/Linux nutzen zu können, müssen Sie zuerst die FreeTDS-Bibliothek übersetzen und installieren. Quellcode und Installationsanleitung stehen auf der FreeTDS-Homepage zur Verfügung: http://www.freetds.org/

> Anmerkung: Unter Windows wird die DBLIB von Microsoft verwendet. Funktionen, die einen Feldnamen zurückgeben, basieren auf der DBLIB-Funktion `dbcolname()`. DBLIB wurde für den SQL Server 6.x entwickelt, bei dem die maximale Länge der Bezeichner bei 30 liegt. Aus diesem Grund ist die Länge von Feldern auf maximal 30 Zeichen begrenzt. Auf Plattformen, auf denen FreeTDS verwendet wird (Linux) gibt es dieses Problem nicht.

# Installation

Die MSSQL-Erweiterung wird durch den Eintrag extension=php_mssql.dll in die `php.ini` aktiviert.

Damit diese Funktionen zur Verfügung stehen, müssen Sie PHP mit `--with-mssql[=DIR]` übersetzen, wobei DIR der Präfix der FreeTDS-Installation ist. Und FreeTDS muss mit `--enable-msdblib` übersetzt werden.

# Laufzeit Konfiguration

Das Verhalten dieser Funktionen wird von Einstellungen in der `php.ini` bestimmt.

Tabelle 1. MS SQL Server Konfigurationsoptionen

Bezeichnung | Grundeinstellung | Änderbar
--- | --- | ---
mssql.allow_persistent | "1" | PHP_INI_SYSTEM
mssql.max_persistent | "-1" | PHP_INI_SYSTEM
mssql.max_links | "-1" | PHP_INI_SYSTEM
mssql.min_error_severity | "10" | PHP_INI_ALL
mssql.min_message_severity | "10" | PHP_INI_ALL
mssql.compatability_mode | "0" | PHP_INI_ALL
mssql.connect_timeout | "5" | PHP_INI_ALL
mssql.timeout | "60" | PHP_INI_ALL
mssql.textsize | "-1" | PHP_INI_ALL
mssql.textlimit | "-1" | PHP_INI_ALL
mssql.batchsize | "0" | PHP_INI_ALL
mssql.datetimeconvert | "1" | PHP_INI_ALL
mssql.secure_connection | "0" | PHP_INI_SYSTEM
mssql.max_procs | "25" | PHP_INI_ALL

Um weitere Details und die Definition der PHP_INI_*-Konstanten zu erhalten, siehe ini_set().

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

`MSSQL_ASSOC` (integer)

`MSSQL_NUM` (integer)

`MSSQL_BOTH` (integer)

`SQLTEXT` (integer)

`SQLVARCHAR` (integer)

`SQLCHAR` (integer)

`SQLINT1` (integer)

`SQLINT2` (integer)

`SQLINT4` (integer)

`SQLBIT` (integer)

`SQLFLT8` (integer)

Zurück | Zum Anfang | Nach vorne
mime_content_type | Nach oben | mssql_bind