LXXVII. Microsoft SQL Server

Introduction

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

Pré-requis

Requis pour les plates-formes Windows

Vous avez besoin d'un client MS SQL Client Tools sur votre système, accessible à PHP. Les Client Tools peuvent être installés 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 plates-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 le site 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 plates-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

NomPar défautModifiable
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().

Constantes pré-définies

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)

Table des matières
mssql_bind --  Ajoute un paramètre à une procédure stockée MSSQL (locale ou distante)
mssql_close -- Ferme une connexion MS SQL Server
mssql_connect -- Ouvre une connexion à un serveur MS SQL server
mssql_data_seek -- Déplace le pointeur interne de ligne
mssql_execute --  Exécute une procédure stockée sur un serveur MS SQL
mssql_fetch_array -- Lit une ligne de résultat MS SQL dans un tableau
mssql_fetch_assoc --  Retourne un tableau associatif pour la ligne courant de résultat MS SQL Server
mssql_fetch_batch --  Retourne le prochain lot de lignes MS SQL Server
mssql_fetch_field -- Lit les informations sur le champ
mssql_fetch_object --  Retourne une ligne de résultat MS SQL Server sous la forme d'un objet
mssql_fetch_row --  Lit une ligne de résultat MS SQL dans un tableau numérique
mssql_field_length -- Lit la longueur d'un champ MS SQL Server
mssql_field_name -- Lit le nom d'un champ MS SQL Server
mssql_field_seek -- Fixe l'offset du pointeur de champ MS SQL Server
mssql_field_type -- Lit le nom d'un champ MS SQL Server
mssql_free_result -- Libère la mémoire des ressources MS SQL Server
mssql_free_statement -- Libère une commande MS SQL Server de la mémoire
mssql_get_last_message --  Retourne le dernier message d'erreur du serveur
mssql_guid_string --  Convertit le GUID binaire de 16 octets en une chaîne de caractères
mssql_init --  Initialise une procédure stockée MS SQL Server locale ou distante
mssql_min_error_severity --  Fixe le niveau de sévérité des erreurs MS SQL Server
mssql_min_message_severity --  Fixe le niveau de sévérité des messages d'erreurs MS SQL Server
mssql_next_result --  Déplace le pointeur interne MS SQL Server au résultat suivant
mssql_num_fields -- Retourne le nombre de champs dans un résultat MS SQL Server
mssql_num_rows --  Retourne le nombre de lignes dans un résultat MS SQL
mssql_pconnect --  Ouvre une connexion persistante à un serveur MS SQL
mssql_query -- Envoie une requête SQL au serveur MS SQL
mssql_result -- Lit les données d'un résultat
mssql_rows_affected --  Retourne le nombre de lignes affectées par une requête MS SQL Server
mssql_select_db -- Sélectionne la base de données MS SQL