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().
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.