PHP 8.5.0 Alpha 1 available for testing

Funciones Microsoft del controlador PDO SQL Server (PDO_SQLSRV)

Introducción

PDO_SQLSRV es un controlador que implementa la interfaz PDO (PHP Data Objects) para permitir el acceso desde PHP a las bases de datos MS SQL Server (versión SQL Server 2005 y superiores) y SQL Azure.

Instalación

La versión más reciente del controlador está disponible para su descarga aquí : » descarga SQLSRV. Las fuentes del controlador se alojan en un » repositorio público.

Para obtener más información acerca de los requisitos del sistema, consúltese el capítulo sobre los » requisitos del sistema SQLSRV.

En Windows, la extensión PDO_SQLSRV se activa descargando y añadiendo los archivos DLL correspondientes en el directorio de extensiones de PHP y la entrada correspondiente en el archivo php.ini.

En Linux y macOS, la extensión PDO_SQLSRV puede ser instalada utilizando » PECL. Consúltese el » tutorial de instalación para más detalles. » controlador ODBC del servidor SQL de Microsoft para Linux.

Constantes predefinidas

Las constantes a continuación son definidas por este controlador y solo estarán disponibles cuando la extensión haya sido compilada en PHP o cargada dinámicamente del motor de ejecución. Además, estas constantes específicas del controlador deberían ser usadas solo si se usa este controlador. Usar atributos específicos de un controlador con otro controlador podría causar un comportamiento inesperado. PDO::getAttribute() podría ser usado para obtener el atributo PDO::ATTR_DRIVER_NAME para verificar el controlador, si su código puede funcionar en múltiples controladores.

PDO::SQLSRV_TXN_READ_UNCOMMITTED (int)
Esta constante es un valor posible para la clave "TransactionIsolation" del DSN para SQLSRV. Esta constante establece el nivel de aislamiento de la transacción a "Read Uncommitted".
PDO::SQLSRV_TXN_READ_COMMITTED (int)
Esta constante es un valor posible para la clave "TransactionIsolation" del DSN para SQLSRV. Esta constante establece el nivel de aislamiento de la transacción a "Read Committed".
PDO::SQLSRV_TXN_REPEATABLE_READ (int)
Esta constante es un valor posible para la clave "TransactionIsolation" del DSN para SQLSRV. Esta constante establece el nivel de aislamiento de la transacción a "Repeatable Read".
PDO::SQLSRV_TXN_SNAPSHOT (int)
Esta constante es un valor posible para la clave "TransactionIsolation" del DSN para SQLSRV. Esta constante establece el nivel de aislamiento de la transacción a "Snapshot".
PDO::SQLSRV_TXN_SERIALIZABLE (int)
Esta constante es un valor posible para la clave "TransactionIsolation" del DSN para SQLSRV. Esta constante establece el nivel de aislamiento de la transacción a "Serializable".
PDO::SQLSRV_ENCODING_BINARY (int)
Especifica que estos datos son enviados al (o recibidos del) servidor como un flujo de bytes, sin realizar codificación o traducción. Esta constante puede ser utilizada en las llamadas a PDOStatement::setAttribute, PDO::prepare, PDOStatement::bindColumn, y PDOStatement::bindParam.
PDO::SQLSRV_ENCODING_SYSTEM (int)
Especifica que estos datos son enviados al (o recibidos del) servidor como un flujo de caracteres 8 bits, como se especifica en la página de código de la configuración local de Windows activa en el sistema. Todo carácter multibyte, o carácter que no existe en esta página de código, es sustituido por un simple signo de interrogación (?). Esta constante puede ser utilizada en las llamadas a PDOStatement::setAttribute, PDO::setAttribute, PDO::prepare, PDOStatement::bindColumn, y PDOStatement::bindParam.
PDO::SQLSRV_ENCODING_UTF8 (int)
Especifica que estos datos son enviados al (o recibidos del) servidor como un flujo de caracteres UTF-8. Se trata de la codificación por defecto. Esta constante puede ser utilizada en las llamadas a PDOStatement::setAttribute, PDO::setAttribute, PDO::prepare, PDOStatement::bindColumn, y PDOStatement::bindParam.
PDO::SQLSRV_ENCODING_DEFAULT (int)
Especifica que estos datos son enviados al (o recibidos del) servidor utilizando la codificación PDO::SQLSRV_ENCODING_SYSTEM si es especificada durante la conexión. Si es especificada en una instrucción "prepare", se utiliza la codificación de la conexión. Esta constante puede ser utilizada en las llamadas a PDOStatement::setAttribute, PDO::setAttribute, PDO::prepare, PDOStatement::bindColumn, y PDOStatement::bindParam.
PDO::SQLSRV_ATTR_QUERY_TIMEOUT (int)
Un entero positivo o nulo que representa la duración del tiempo límite, en segundos. Cero (0) es el valor por omisión y significa que no hay tiempo límite. Esta constante puede ser utilizada en las llamadas a PDOStatement::setAttribute, PDO::setAttribute, y PDO::prepare.
PDO::SQLSRV_ATTR_DIRECT_QUERY (int)
Indica una consulta que debe ser ejecutada directamente, sin ser preparada. Esta constante puede ser utilizada en las llamadas a PDO::setAttribute, y PDO::prepare. Para más información, ver (en inglés) » Direct and Prepared Statement Execution.

Tabla de contenidos

  • PDO_SQLSRV DSN — Conexión a bases de datos MS SQL Server y SQL Azure
add a note

User Contributed Notes 3 notes

up
10
Peter
10 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
6
ian at helastel dot com
8 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
10 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
To Top