Manuel PHP
Précédent |  | Suivant

# LXIII. Microsoft SQL Server

# Introduction

Ces fonctions vous permettent d'accéder aux serveurs de données MS SQL.

# Pré-requis

Requis pour les plate-formes Windows

Vous avez besoin d'un client MS SQL Client Tools sur votre système, accessible à PHP. Les Client Tools peuvent être installé depuis le CD MS SQL Server CD ou en copiant `ntwdblib.dll` depuis le dossier `\winnt\system32` du serveur MS SQL vers `\winnt\system32` sur le serveur PHP. Copier `ntwdblib.dll` ne fera que fournir le moyen d'accès. La configuration du client requiert l'installation des autres outils.

Pré-requis pour les plate-formes Unix/Linux.

Pour utiliser l'extension MS SQL sur Unix/Linux, vous devez commencer par compiler et installer la bibliothèque FreeTDS. Le code source et les instructions d'installation sont disponibles sur les ite de FreeTDS : http://www.freetds.org/

> Note : Sur Windows, la libriaire DBLIB de Microsoft est utilisée. Les fonctions qui retournent les noms de colonnes sont basées sur la fonction dbcolname() de DBLIB. DBLIB a été développée pour MS SQL Server 6.x où la longueur maximale de l'identifiant est 30. Pour cette raison, la longueur maximale des colonnes est 30. Sur les plate-formes où FreeTDS est utilisé (Linux), il n'y pas ce problème.

# Installation

L'extension MSSQL est activée par la ligne extension=php_mssql.dll dans le fichier `php.ini`.

Pour que ces fonctions fonctionnent, vous devez compiler PHP avec --with-mssql[=DIR], où DIR est le préfixe d'installation FreeTDS. Et le FreeTDS doit être compilé en utilisant --enable-msdblib.

# Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier `php.ini`.

Tableau 1. Options de configuration

Nom | Par défaut | Modifiable
--- | --- | ---
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

Pour plus de détails sur les constantes PHP_INI_*, reportez-vous à ini_set().

# Types de ressources

# Constantes prédefinies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

`MSSQL_ASSOC` (entier)

`MSSQL_NUM` (entier)

`MSSQL_BOTH` (entier)

`SQLTEXT` (entier)

`SQLVARCHAR` (entier)

`SQLCHAR` (entier)

`SQLINT1` (entier)

`SQLINT2` (entier)

`SQLINT4` (entier)

`SQLBIT` (entier)

`SQLFLT8` (entier)

Précédent | Sommaire | Suivant
mime_content_type | Niveau supérieur | mssql_bind