PHP 5.4.31 Released

Fonctions Microsoft SQL Server (PDO_SQLSRV)

Introduction

PDO_SQLSRV est un pilote qui implémente l'interface PDO (PHP Data Objects) pour permettre l'accès depuis PHP aux bases de données MS SQL Server (version SQL Server 2005 et supérieures) et SQL Azure.

Installation

L'extension PDO_SQLSRV est activée en ajoutant les bibliothèques DLL appropriées dans votre dossier d'extension PHP et en ajoutant les entrées correspondantes dans le fichier php.ini. PDO_SQLSRV est livré avec 8 pilotes, dont 4 dédiés au support de PDO. Si vous exécutez PHP en version non thread-safe (PHP 5.3), utilisez le fichier php_pdo_sqlsrv_53_nts.dll (vous devez utiliser une version non-thread-safe si vous utilisez IIS comme serveur web). Si vous exécutez PHP en version thread-safe, utilisez le fichier php_pdo_sqlsrv_53_ts.dll. De même pour PHP 5.4, utilisez le fichier php_pdo_sqlsrv_54_nts.dll ou php_pdo_sqlsrv_54_ts.dll suivant si votre installation de PHP est non-thread-safe ou thread-safe.

La version la plus récente du pilote est disponible au téléchargement ici : » téléchargement de SQLSRV 3.0. Si vous avez besoin d'un support de PHP 5.2 et/ou de PHP compilé avec VC6, utilisez la version 2.0 du pilote : » téléchargement de SQLSRV 2.0.

Pour plus d'information à propos des exigences système, consultez le chapitre sur les » exisgences systèmes SQLSRV.

L'extension PDO_SQLSRV n'est compatible qu'avec PHP sur Windows. Pour Linux, reportez-vous à ODBC ainsi qu'au » driver ODBC du serveur SQL Microsoft pour Linux.

Constantes pré-définies

Les constantes ci-dessous sont définies par ce pilote et seront seulement disponibles lorsque l'extension aura été compilée dans PHP ou chargée dynamiquement du moteur d'exécution. De plus, ces constantes spécifiques au pilote devraient être utilisées seulement si vous utilisez ce pilote. En utilisant les attributs spécifiques à un pilote avec un autre pilote pourrait causer un comportement inattendu. PDO::getAttribute() pourrait être utilisé pour obtenir l'attribut PDO_ATTR_DRIVER_NAME pour vérifier le pilote, si votre code peut fonctionner sur des pilotes multiples.

PDO::SQLSRV_TXN_READ_UNCOMMITTED (entier)
Cette constante est une valeur possible pour la clé "TransactionIsolation" du DSN pour SQLSRV. Cette constante positionne le niveau d'isolation de la transaction à "Read Uncommitted".
PDO::SQLSRV_TXN_READ_COMMITTED (entier)
Cette constante est une valeur possible pour la clé "TransactionIsolation" du DSN pour SQLSRV. Cette constante positionne le niveau d'isolation de la transaction à "Read Uncommitted".
PDO::SQLSRV_TXN_REPEATABLE_READ (entier)
Cette constante est une valeur possible pour la clé "TransactionIsolation" du DSN pour SQLSRV. Cette constante positionne le niveau d'isolation de la transaction à "Repeateable Read".
PDO::SQLSRV_TXN_SNAPSHOT (entier)
Cette constante est une valeur possible pour la clé "TransactionIsolation" du DSN pour SQLSRV. Cette constante positionne le niveau d'isolation de la transaction à "Snapshot".
PDO::SQLSRV_TXN_SERIALIZABLE (entier)
Cette constante est une valeur possible pour la clé "TransactionIsolation" du DSN pour SQLSRV. Cette constante positionne le niveau d'isolation de la transaction à "Serializable".
PDO::SQLSRV_ENCODING_BINARY (entier)
Spécifie que cette donnée est envoyée vers le (ou reçue du) serveur comme un flux d'octets, sans opérer d'encodage ou de traduction. Cette constante peut être utilisée dans les appels à PDOStatement::setAttribute, PDO::prepare, PDOStatement::bindColumn, et PDOStatement::bindParam.
PDO::SQLSRV_ENCODING_SYSTEM (entier)
Spécifie que cette donnée est envoyée vers le (ou reçue du) serveur comme un flux de caractères 8 bits, comme spécifié dans la page de code de la locale Windows active sur le système. Tout caractère multi-octet, ou caractère qui n'existe pas dans cette page de code, est substitué par un simple point d'interrogation (?). Cette constante peut être utilisée dans les appels à PDOStatement::setAttribute, PDO::setAttribute, PDO::prepare, PDOStatement::bindColumn, et PDOStatement::bindParam.
PDO::SQLSRV_ENCODING_UTF8 (entier)
Spécifie que cette donnée est envoyée vers le (ou reçue du) serveur comme un flux de caractères UTF-8. Il s'agit de l'encodage par défaut. Cette constante peut être utilisée dans les appels à PDOStatement::setAttribute, PDO::setAttribute, PDO::prepare, PDOStatement::bindColumn, et PDOStatement::bindParam.
PDO::SQLSRV_ENCODING_DEFAULT (entier)
Spécifie que cette donnée est envoyée vers le (ou reçue du) serveur en utilisant l'encodage PDO::SQLSRV_ENCODING_SYSTEM si elle est spécifiée pendant la connexion. Si elle est spécifiée dans une instruction "prepare", c'est l'encodage de la connexion qui est utilisé. Cette constante peut être utilisée dans les appels à PDOStatement::setAttribute, PDO::setAttribute, PDO::prepare, PDOStatement::bindColumn, et PDOStatement::bindParam.
PDO::SQLSRV_ATTR_QUERY_TIMEOUT (entier)
Un entier positif ou nul représentant la durée de timeout, en secondes. Zéro (0) est la valeur par défaut et signifie qu'il n'y a pas de timeout. Cette constante peut être utilisée dans les appels à PDOStatement::setAttribute, PDO::setAttribute, et PDO::prepare.
PDO::SQLSRV_ATTR_DIRECT_QUERY (entier)
Indique une requête qui doit être exécutée directement, sans être préparée. Cette constante peut être utilisée dans les appels à PDO::setAttribute, et PDO::prepare. Pour plus d'informations, voir (en anglais) » Direct and Prepared Statement Execution.

Sommaire

  • PDO_SQLSRV DSN — Connexion à des bases de données MS SQL Server et SQL Azure
add a note add a note

User Contributed Notes 1 note

up
-1
Anonymous
14 days ago
Note that Microsoft has not been updating this driver for some time.  There are unofficial builds for PHP 5.5 based on patches against the source code head revision (from codeplex), and unconfirmed rumors that getting the source to build with PHP 5.6 is difficult.

Official versions have been released only for PHP 5.2, 5.3 and 5.4.
 
These problems probably apply to both the PDO driver (pdo_sqlsrv) and the non-PDO driver (sqlsrv extension), since they seem to be built and released together.
To Top