Введение
PDO_SQLSRV — это драйвер, реализующий интерфейс PHP Data Objects (PDO) для получения доступа из PHP к базам данных MS SQL Server (начиная с версии SQL Server 2005) и SQL Azure.
Установка
Последняя версия драйвера доступна для скачивания по ссылке: » Загрузка SQLSRV. Исходный код драйвера размещён в » публичном репозитории.
За подробностями о системных требованиях обратитесь к разделу » Системные требования SQLSRV.
В Windows модуль PDO_SQLSRV включается путём загрузки и добавления необходимых DLL-файлов в каталог модулей PHP и добавления в файл php.ini записи, которая загрузит модуль.
В Linux и macOS модуль PDO_SQLSRV можно установить из библиотеки » PECL. Подробности смотрите в » руководстве по установке.
Предопределённые константы
Драйвер определяет перечисленные ниже константы, которые доступны только тогда, когда PHP собрали с поддержкой этого модуля, или модуль динамически загрузили во время исполнения кода. Зависимые от драйвера константы разрешно использовать только совместно с этим драйвером. Атрибуты одного драйвера с другим драйвером ведут себя неожиданно. Для проверки названия драйвера, которое содержит атрибут PDO::ATTR_DRIVER_NAME
, вызывают метод PDO::getAttribute(), если код запускается с несколькими драйверами.
PDO::SQLSRV_TXN_READ_UNCOMMITTED
(int) - Данная константа - допустимое значение для ключа TransactionIsolation SQLSRV DSN. Устанавливает уровень изоляции транзакций для соединения в значение Read Uncommitted.
PDO::SQLSRV_TXN_READ_COMMITTED
(int) - Данная константа - допустимое значение для ключа TransactionIsolation SQLSRV DSN. Устанавливает уровень изоляции транзакций для соединения в значение Read Committed.
PDO::SQLSRV_TXN_REPEATABLE_READ
(int) - Данная константа - допустимое значение для ключа TransactionIsolation SQLSRV DSN. Устанавливает уровень изоляции транзакций для соединения в значение Repeateable Read.
PDO::SQLSRV_TXN_SNAPSHOT
(int) - Данная константа - допустимое значение для ключа TransactionIsolation SQLSRV DSN. Устанавливает уровень изоляции транзакций для соединения в значение Snapshot.
PDO::SQLSRV_TXN_SERIALIZABLE
(int) - Данная константа - допустимое значение для ключа TransactionIsolation SQLSRV DSN. Устанавливает уровень изоляции транзакций для соединения в значение Serializable.
PDO::SQLSRV_ENCODING_BINARY
(int) - Определяет, что данные отправляются/получаются в виде потока байтов к/от сервера без выполнения преобразования кодировки или другого преобразования. Константа может быть передана в функции PDOStatement::setAttribute, PDO::prepare, PDOStatement::bindColumn и PDOStatement::bindParam.
PDO::SQLSRV_ENCODING_SYSTEM
(int) - Определяет, что данные отправляются/получаются к/от сервера в 8ми-битной кодировке локали Windows, установленной в системе. Все мультибайтовые символы и символы, не преобразуемые в данную кодировку, заменяются символом вопроса (?). Константа может быть передана в функции PDOStatement::setAttribute, PDO::setAttribute, PDO::prepare, PDOStatement::bindColumn и PDOStatement::bindParam.
PDO::SQLSRV_ENCODING_UTF8
(int) - Определяет, что данные отправляются/получаются к/от сервера в кодировке UTF-8. Константа может быть передана в функции PDOStatement::setAttribute, PDO::setAttribute, PDO::prepare, PDOStatement::bindColumn и PDOStatement::bindParam.
PDO::SQLSRV_ENCODING_DEFAULT
(int) - Определяет, что данные отправляются/получаются к/от сервера согласно значению PDO::SQLSRV_ENCODING_SYSTEM, указанному при подключении. Для подключения может использоваться кодировка, указанная при подготовке выражения. Константа может быть передана в функции PDOStatement::setAttribute, PDO::setAttribute, PDO::prepare, PDOStatement::bindColumn и PDOStatement::bindParam.
PDO::SQLSRV_ATTR_QUERY_TIMEOUT
(int) - Неотрицательное целое число, отражающее время ожидания в секундах. Ноль (0) - это значение по умолчанию, означающее, что время ожидания не учитывается. Константа может быть передана в функции PDOStatement::setAttribute, PDO::setAttribute и PDO::prepare.
PDO::SQLSRV_ATTR_DIRECT_QUERY
(int) - Показывает, что запрос должен быть немедленно выполнен, без подготовки выражения. Константа может быть передана в функции PDO::setAttribute и PDO::prepare. За подробностями обратитесь к разделу документации » Немедленное выполнение выражений и выполнение подготовленных выражений.