Введение
PDO_SQLSRV — драйвер, через который PHP получает доступ к базам данных
MS SQL Server (начиная с версии SQL Server 2005) и SQL Azure.
Для этого драйвер реализует интерфейс модуля PDO.
Установка
Последняя версия драйвера доступна для скачивания по ссылке:
» Загрузка 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.
За подробностями обратитесь к разделу документации
» Немедленное выполнение выражений и выполнение подготовленных выражений.