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 der ntwdblib.dll von \winnt\system32 auf dem Server nach \winnt\system32 auf dem PHP-Rechner installiert werden. Mit dem Kopieren der ntwdblib.dll wird nur der Zugriff durch benannte Pipes (named pipes) unterstützt. Für die Konfiguration des Clients ist eine Installation aller Tools nötig.

Diese Erweiterung steht unter Windows ab PHP 5.3 nicht mehr zur Verfügung.

Microsoft stellt SQLSRV, einen alternativen Treiber für MS SQL, zur Verfügung: » http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx.

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/

Hinweis:

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.

Hinweis:

Wenn unter Windows MSSQL 2005 oder höher verwendet wird, muss die ntwdblib.dll in das Verzeichnis kopiert werden, in das PHP installiert wurde und die dort bereits vorhandene Datei überschrieben werden. Das liegt daran, dass die mitgelieferte Verion alt und überholt ist. Alternativ kann die ODBC-, die PDO_DBLIB- oder die PDO_ODBC-Erweiterung verwendet werden, um MSSQL anzusprechen.

add a note add a note

User Contributed Notes 2 notes

up
5
mihabo at hotmail dot com
14 years ago
I have struggled a lot to make PHP connect to a MS SQL server from under a Linux (using FreeTDS).
I installed the latest FreeTDS and tried to use usual host:port to connect to a server.
Finally when I configured freetds.conf like that:

[mysrvalias]
        host = 192.168.17.17
        port = 1433
        tds version = 7.0

and used mysrvalias instead of the 192.168.17.17:1433, it worked!
up
0
gustavo dot beavis at gmail dot com
9 years ago
I had problems with freeTDS version 4.2, and I believe that versions prior to 7.0 have this limit of 30 characters per fields.

I solved the problem by changing to version 8.0
To Top