Fonctions Microsoft du pilote PDO SQL Server (PDO_SQLSRV)

Introduction

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

Installation

La version la plus récente du pilote est disponible au téléchargement ici : » téléchargement SQLSRV. Les sources du pilote sont hébergées dans un » dépÎt public.

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

Sur Windows, l'extension PDO_SQLSRV est activée en téléchargeant et en ajoutant les fichiers DLL appropriés dans le répertoire d'extension PHP et l'entrée correspondante dans le fichier php.ini.

Sur Linux et macOS, l'extension PDO_SQLSRV peut ĂȘtre installĂ©e en utilisant » PECL. Voir le » tutoriel d'installation pour plus de dĂ©tails. » 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 (int)
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 (int)
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 Committed".
PDO::SQLSRV_TXN_REPEATABLE_READ (int)
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 (int)
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 (int)
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 (int)
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 (int)
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 multioctet, 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 (int)
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 (int)
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 (int)
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 (int)
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

User Contributed Notes 3 notes

up
9
Peter ¶
11 years ago
SQLSRV 3.2 is now available from Microsoft that supports PHP 5.6

http://www.microsoft.com/en-us/download/details.aspx?id=20098
up
7
ian at helastel dot com ¶
9 years ago
An updated driver compatible with both PHP 7.0 and Linux is available on the PHP-7.0-Linux branch of https://github.com/Microsoft/msphpsql/

This is more up to date and supports some additional features over the ODBC / DBLIB drivers.

It is currently considered an 'Early Technical Preview' and hence has some limitations, but in my experience it has been stable.
up
0
John P ¶
11 years ago
As of 12/12/2014, Microsoft has officially released Version 3.1.

Support for 5.5 has 4 drivers
php_pdo_sqlsrv_55_nts.dll
php_pdo_sqlsrv_55_ts.dll
php_sqlsrv_55_nts.dll
php_sqlsrv_55_ts.dll

Note: Version 3.1 now supports PHP 5.5 and requires Microsoft ODBC Driver 11 (or higher) 

You can downlod the new driver from 
http://www.microsoft.com/en-us/download/details.aspx?id=20098