Php mssql pdo: PHP: MS SQL Server (PDO)

Содержание

PHP: MS SQL Server (PDO)

Change language:
EnglishBrazilian PortugueseChinese (Simplified)FrenchGermanJapaneseRomanianRussianSpanishTurkishOther

Введение

PDO_SQLSRV — это драйвер, реализующий интерфейс PHP
Data Objects (PDO) для получения доступа из PHP к базам данных MS SQL Server
(начиная с версии SQL Server 2005) и SQL Azure.

Установка

Модуль PDO_SQLSRV включается добавлением соответствующего файла DLL в директорию
модулей вашей установленной копии PHP и соответствующей записи в файл php.ini.
Загружаемая копия модуля PDO_SQLSRV включает в себя восемь файлов драйверов,
четыре из них для поддержки PDO.

Наиболее часто используемая версия драйвера доступна здесь:
» Загрузка SQLSRV.
Исходный код драйвера размещён в » публичном репозитории.

За подробностями о системных требованиях обратитесь к разделу
» Системные требования SQLSRV.

Модуль PDO_SQLSRV может использоваться с PHP только в ОС Windows.
Для Linux используйте ODBC и
» Microsoft’s SQL Server ODBC Driver для Linux.

Предопределённые константы

Перечисленные ниже константы определены данным драйвером и будут доступны только в случае, если PHP был собран с поддержкой этого расширения или данное расширение было подгружено динамически во время выполнения. Вдобавок, эти зависимые от драйвера константы должны быть использованы только совместно с этим драйвером. Использование атрибутов, специфичных для некоторого драйвера с другим драйвером может вызвать неожиданное поведение. Если ваш код выполняется с несколькими драйверами, то можно использовать функцию PDO::getAttribute() для получения атрибута PDO::ATTR_DRIVER_NAME для проверки драйвера.

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.
За подробностями обратитесь к разделу документации
» Немедленное выполнение выражений и выполнение подготовленных выражений.

Содержание

  • PDO_SQLSRV DSN — Подключение к базам данных MS SQL Server и SQL Azure

ian at helastel dot com

4 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.

John P

6 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

fleduc dot perso at gmail dot com

3 years ago


Watch out!

If you use PDO SQLSRV on windows 7, using 32 bit php on XAMMP, you might encounter driver problems : "This extension requires the Microsoft ODBC Driver 11 for SQL Server to communicate with SQL Server"

The reason, Microsoft 32-bit ODBC driver doesn't install properly on 64-bit Windows 7.

Check the solution to PDO SQLSRV driver problem here in StackOverflow

https://stackoverflow.com/a/46245990/1330248

Функции расширения PDO_SQLSRV для Microsoft SQL Server

Введение

PDO_SQLSRV — это драйвер, реализующий интерфейс PHP
Data Objects (PDO) для получения доступа из PHP к базам данных MS SQL Server
(начиная с версии SQL Server 2005) и SQL Azure.

Установка

Расширение PDO_SQLSRV включается добавлением соответствующего файла DLL в директорию
расширений вашей установленной копии PHP и соответствующей записи в файл php.ini.
Загружаемая копия расширения PDO_SQLSRV включает в себя восемь файлов драйверов,
четыре из них для поддержки PDO. Если вы используете потоконебезопасную сборку PHP
(PHP 5.3), используйте php_pdo_sqlsrv_53_nts.dll (вы должны использовать
потоконебезопасную версию, если в качестве веб-сервера у вас установлен IIS). Если же вы
используете потокобезопасную сборку, то должны использовать php_pdo_sqlsrv_52_ts_vc6. dll.
Аналогично, для PHP 5.4, используйте php_pdo_sqlsrv_54_nts.dll или php_pdo_sqlsrv_54_ts.dll.

Наиболее часто используемая версия драйвера доступны здесь:
» Загрузка SQLSRV 3.0. Если вам нужна поддержка
PHP 5.2 и/или PHP скомпилирован с использованием VC6, используйте релиз драйвера 2.0:
» Загрузка SQLSRV 2.0.

За подробностями о системных требованиях обратитесь к разделу
» Системные требования SQLSRV.

Расширение PDO_SQLSRV может использоваться с PHP только в ОС Windows.
Для Linux, используйте ODBC и
» Microsoft’s SQL Server ODBC Driver для Linux.

Предопределенные константы

Перечисленные ниже константы определены данным драйвером и будут доступны только в случае, если PHP был собран с поддержкой этого расширения или данное расширение было подгружено динамически во время выполнения. Вдобавок, эти драйверо-зависимые константы должны быть использованы только совместно с этим драйвером. Использование атрибутов, специфичных для некоторого драйвера с другим драйвером может вызвать неожиданное поведение. Если ваш код выполняется с несколькими драйверами, то можно использовать функцию PDO::getAttribute() для получения атрибута PDO_ATTR_DRIVER_NAME для проверки драйвера.

PDO::SQLSRV_TXN_READ_UNCOMMITTED
(integer)

Данная константа — допустимое значение для ключа TransactionIsolation SQLSRV DSN.
Устанавливает уровень изоляции транзакций для соединения в значение Read Uncommitted.

PDO::SQLSRV_TXN_READ_COMMITTED
(integer)

Данная константа — допустимое значение для ключа TransactionIsolation SQLSRV DSN.
Устанавливает уровень изоляции транзакций для соединения в значение Read Committed.

PDO::SQLSRV_TXN_REPEATABLE_READ
(integer)

Данная константа — допустимое значение для ключа TransactionIsolation SQLSRV DSN.
Устанавливает уровень изоляции транзакций для соединения в значение Repeateable Read.

PDO::SQLSRV_TXN_SNAPSHOT
(integer)

Данная константа — допустимое значение для ключа TransactionIsolation SQLSRV DSN.
Устанавливает уровень изоляции транзакций для соединения в значение Snapshot.

PDO::SQLSRV_TXN_SERIALIZABLE
(integer)

Данная константа — допустимое значение для ключа TransactionIsolation SQLSRV DSN.
Устанавливает уровень изоляции транзакций для соединения в значение Serializable.

PDO::SQLSRV_ENCODING_BINARY
(integer)

Определяет, что данные отправляются/получаются в виде потока байтов к/от сервера
без выполнения преобразования кодировки или другого преобразования. Константа может
быть передана в функции PDOStatement::setAttribute, PDO::prepare,
PDOStatement::bindColumn и PDOStatement::bindParam.

PDO::SQLSRV_ENCODING_SYSTEM
(integer)

Определяет, что данные отправляются/получаются к/от сервера в
8ми-битной кодировке локали Windows, установленной в системе.
Все мультибайтовые символы и символы, не преобразуемые в данную кодировку, заменяются
символом вопроса (?). Константа может
быть передана в функции PDOStatement::setAttribute, PDO::setAttribute, PDO::prepare,
PDOStatement::bindColumn и PDOStatement::bindParam.

PDO::SQLSRV_ENCODING_UTF8
(integer)

Определяет, что данные отправляются/получаются к/от сервера в кодировке
UTF-8. Константа может быть передана в функции
PDOStatement::setAttribute, PDO::setAttribute, PDO::prepare,
PDOStatement::bindColumn и PDOStatement::bindParam.

PDO::SQLSRV_ENCODING_DEFAULT
(integer)

Определяет, что данные отправляются/получаются к/от сервера согласно
значению PDO::SQLSRV_ENCODING_SYSTEM, указанному при подключении. Для подключения
может использоваться кодировка, указанная при подготовке выражения.
Константа может быть передана в функции PDOStatement::setAttribute,
PDO::setAttribute, PDO::prepare, PDOStatement::bindColumn и PDOStatement::bindParam.

PDO::SQLSRV_ATTR_QUERY_TIMEOUT
(integer)

Неотрицательное целое число, отражающее период таймаута в секундах. Ноль (0) —
это значение по умолчанию, означающее, что время таймаута не учитывается.
Константа может быть передана в функции
PDOStatement::setAttribute, PDO::setAttribute и PDO::prepare.

PDO::SQLSRV_ATTR_DIRECT_QUERY
(integer)

Показывает, что запрос должен быть немедленно выполнен, без подготовки выражения.
Константа может быть передана в функции PDO::setAttribute и PDO::prepare.
За подробностями обратитесь к разделу документации
» Немедленное выполнение выражений и выполнение подготовленных выражений.

Функции модуля PDO_SQLSRV для Microsoft SQL Server

Введение

PDO_SQLSRV — это драйвер, реализующий интерфейс PHP
Data Objects (PDO) для получения доступа из PHP к базам данных MS SQL Server
(начиная с версии SQL Server 2005) и SQL Azure.

Установка

Модуль PDO_SQLSRV включается добавлением соответствующего файла DLL в директорию
модулей вашей установленной копии PHP и соответствующей записи в файл php.ini.
Загружаемая копия модуля PDO_SQLSRV включает в себя восемь файлов драйверов,
четыре из них для поддержки PDO. Если вы используете потоконебезопасную сборку PHP
(PHP 5.3), используйте php_pdo_sqlsrv_53_nts.dll (вы должны использовать
потоконебезопасную версию, если в качестве веб-сервера у вас установлен IIS). Если же вы
используете потокобезопасную сборку, то должны использовать php_pdo_sqlsrv_52_ts_vc6.dll.
Аналогично, для PHP 5.4 используйте php_pdo_sqlsrv_54_nts.dll или php_pdo_sqlsrv_54_ts. dll.

Наиболее часто используемая версия драйвера доступна здесь:
» Загрузка SQLSRV. Если вам нужна поддержка
PHP 5.2 и/или PHP скомпилирован с использованием VC6, используйте релиз драйвера 2.0:
» Загрузка SQLSRV 2.0.
Исходный код драйвера размещен в » публичном репозитории.

За подробностями о системных требованиях обратитесь к разделу
» Системные требования SQLSRV.

Модуль PDO_SQLSRV может использоваться с PHP только в ОС Windows.
Для Linux используйте ODBC и
» Microsoft’s SQL Server ODBC Driver для Linux.

Предопределенные константы

Перечисленные ниже константы определены данным драйвером и будут доступны только в случае, если PHP был собран с поддержкой этого расширения или данное расширение было подгружено динамически во время выполнения. Вдобавок, эти драйверо-зависимые константы должны быть использованы только совместно с этим драйвером. Использование атрибутов, специфичных для некоторого драйвера с другим драйвером может вызвать неожиданное поведение. Если ваш код выполняется с несколькими драйверами, то можно использовать функцию PDO::getAttribute() для получения атрибута PDO::ATTR_DRIVER_NAME для проверки драйвера.

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.
За подробностями обратитесь к разделу документации
» Немедленное выполнение выражений и выполнение подготовленных выражений.

PHP: MS SQL Server (PDO)

Изменение языка:
Английскийбразильский португальскийкитайский (упрощенный) французский немецкий японский румынский русский испанский турецкий другой

Введение

PDO_SQLSRV — это драйвер, реализующий PHP
Интерфейс объектов данных (PDO)
для включения доступа с PHP к MS SQL Server (начиная с SQL Server 2005)
и базы данных SQL Azure.

Установка

Расширение PDO_SQLSRV включается путем добавления соответствующего файла DLL в ваш PHP.
extension и соответствующую запись в php.ini файл. В
Загрузка PDO_SQLSRV включает 8 файлов драйверов, четыре из которых предназначены для поддержки PDO.

Самая последняя версия драйвера доступна для загрузки здесь:
»Скачивание SQLSRV.
Исходные коды драйверов размещены в »публичном репозитории.

Для получения дополнительной информации о системных требованиях см.
»Системные требования SQLSRV.

Расширение PDO_SQLSRV совместимо только с PHP, работающим в Windows.
Для Linux см. ODBC и
»Драйвер Microsoft SQL Server ODBC для Linux.

Предопределенные константы

Константы ниже определены
этот драйвер, и будет доступен только тогда, когда расширение было либо
скомпилирован в PHP или динамически загружен во время выполнения. Кроме того, эти
Константы, специфичные для драйвера, следует использовать только в том случае, если вы используете этот драйвер.
Использование специфичных для драйвера атрибутов с другим драйвером может привести к
неожиданное поведение. PDO :: getAttribute () может использоваться для
получить атрибут PDO :: ATTR_DRIVER_NAME , чтобы проверить
драйвер, если ваш код может работать с несколькими драйверами.

PDO :: SQLSRV_TXN_READ_UNCOMMITTED
(число)

Эта константа является допустимым значением для TransactionIsolation ключа DSN SQLSRV.
Эта константа устанавливает уровень изоляции транзакции для подключения к
Прочтите незафиксированные.

PDO :: SQLSRV_TXN_READ_COMMITTED
(число)

Эта константа является допустимым значением для TransactionIsolation ключа DSN SQLSRV.Эта константа устанавливает уровень изоляции транзакции для подключения к
Прочтите Committed.

PDO :: SQLSRV_TXN_REPEATABLE_READ
(число)

Эта константа является допустимым значением для TransactionIsolation ключа DSN SQLSRV.
Эта константа устанавливает уровень изоляции транзакции для подключения к
Повторяющееся чтение.

PDO :: SQLSRV_TXN_SNAPSHOT
(число)

Эта константа является допустимым значением для TransactionIsolation ключа DSN SQLSRV. Эта константа устанавливает уровень изоляции транзакции для подключения к моментальному снимку.

PDO :: SQLSRV_TXN_SERIALIZABLE
(число)

Эта константа является допустимым значением для TransactionIsolation ключа DSN SQLSRV.
Эта константа устанавливает уровень изоляции транзакции для подключения к
Сериализуемый.

PDO :: SQLSRV_ENCODING_BINARY
(число)

Указывает, что данные отправляются / извлекаются как необработанный поток байтов на / с сервера
без выполнения кодирования или перевода.Эту константу можно передать в
PDOStatement :: setAttribute, PDO :: prepare, PDOStatement :: bindColumn и
PDOStatement :: bindParam.

PDO :: SQLSRV_ENCODING_SYSTEM
(число)

Указывает, что данные отправляются / извлекаются на / с сервера в виде 8-битных символов
как указано на кодовой странице локали Windows, установленной в системе.
Любые многобайтовые символы или символы, которые не отображаются на этой кодовой странице.
заменяются однобайтовым знаком вопроса (?).Эта постоянная
можно передать в PDOStatement :: setAttribute, PDO :: setAttribute, PDO :: prepare,
PDOStatement :: bindColumn и PDOStatement :: bindParam.

PDO :: SQLSRV_ENCODING_UTF8
(число)

Указывает, что данные отправляются / извлекаются на / с сервера в кодировке UTF-8.
Это кодировка по умолчанию. Эту константу можно передать в
PDOStatement :: setAttribute, PDO :: setAttribute, PDO :: prepare,
PDOStatement :: bindColumn и PDOStatement :: bindParam.

PDO :: SQLSRV_ENCODING_DEFAULT
(число)

Указывает, что данные отправляются / извлекаются на / с сервера в соответствии с
PDO :: SQLSRV_ENCODING_SYSTEM, если он указан при соединении. Связь
используется кодировка, если она указана в операторе подготовки. Эта константа может быть
передается в PDOStatement :: setAttribute, PDO :: setAttribute, PDO :: prepare,
PDOStatement :: bindColumn и PDOStatement :: bindParam.

PDO :: SQLSRV_ATTR_QUERY_TIMEOUT
(число)

Неотрицательное целое число, представляющее период ожидания в секундах. Ноль (0)
является значением по умолчанию и означает отсутствие тайм-аута. Эту константу можно передать в
PDOStatement :: setAttribute, PDO :: setAttribute и PDO :: prepare.

PDO :: SQLSRV_ATTR_DIRECT_QUERY
(число)

Указывает, что запрос должен быть выполнен напрямую, без подготовки.Эту константу можно передать в PDO :: setAttribute и PDO :: prepare. Для большего
информацию см.
»Прямое и подготовленное исполнение выписки.

Содержание

  • PDO_SQLSRV DSN — Подключение к базам данных MS SQL Server и SQL Azure

ian at helastel dot com

4 года назад


На PHP-7 доступен обновленный драйвер, совместимый как с PHP 7.0, так и с Linux.0-Linux, ветвь https://github.com/Microsoft/msphpsql/

. Это более актуально и поддерживает некоторые дополнительные функции по сравнению с драйверами ODBC / DBLIB.

В настоящее время он считается «ранним техническим обзором» и, следовательно, имеет некоторые ограничения, но, по моему опыту, он был стабильным.

John P

6 лет назад


По состоянию на 12.12.2014 Microsoft официально выпустила версию 3.1.

Поддержка 5.5 имеет 4 драйвера. http://www.microsoft.com/en-us/download/details.aspx?id=20098

fleduc dot perso at gmail dot com

3 года назад


Осторожно!

Если вы используете PDO SQLSRV в Windows 7, используя 32-битный php в XAMMP, вы можете столкнуться с проблемами драйвера: «Для этого расширения требуется драйвер Microsoft ODBC 11 для SQL Server для связи с SQL Server»

Причина, 32-битная версия Microsoft Драйвер ODBC неправильно устанавливается в 64-битной Windows 7.

Проверьте решение проблемы драйвера PDO SQLSRV здесь, в StackOverflow

https://stackoverflow.com/a/46245990/1330248

Функции Microsoft SQL Server (PDO_SQLSRV)

Введение

PDO_SQLSRV — это драйвер, реализующий PHP
Интерфейс объектов данных (PDO)
для включения доступа с PHP к MS SQL Server (начиная с SQL Server 2005)
и базы данных SQL Azure.

Установка

Расширение PDO_SQLSRV включается путем добавления соответствующего файла DLL в ваш PHP.
extension и соответствующую запись в php.ini файл. В
В загрузку PDO_SQLSRV входит 8 файлов драйверов, четыре из которых предназначены для поддержки PDO.
Если вы используете PHP без поддержки потоков (PHP 5.3), используйте php_pdo_sqlsrv_53_nts.dll
файл. (Вы должны использовать небезопасную версию, если вы используете IIS в качестве
веб сервер). Если вы используете поточно-ориентированный PHP, используйте php_pdo_sqlsrv_53_ts.dll
файл. Аналогично для PHP 5.4 используйте php_pdo_sqlsrv_54_nts.dll или php_pdo_sqlsrv_54_ts.dll
в зависимости от того, является ли ваша установка PHP небезопасной или поточно-ориентированной.

Самая последняя версия драйвера доступна для загрузки здесь:
»Загрузка SQLSRV 3.0. Если вам нужна поддержка
для PHP 5.2 и / или PHP, скомпилированного с VC6, используйте версию драйвера 2.0:
»Загрузка SQLSRV 2.0.

Для получения дополнительной информации о системных требованиях см.
»Системные требования SQLSRV.

Расширение PDO_SQLSRV совместимо только с PHP, работающим в Windows.
Для Linux см. ODBC и
»Драйвер Microsoft SQL Server ODBC для Linux.

Предопределенные константы

Константы ниже определены
этот драйвер, и будет доступен только тогда, когда расширение было либо
скомпилирован в PHP или динамически загружен во время выполнения. Кроме того, эти
Константы, специфичные для драйвера, следует использовать только в том случае, если вы используете этот драйвер.
Использование специфичных для драйвера атрибутов с другим драйвером может привести к
неожиданное поведение. PDO :: getAttribute () может использоваться для
получить атрибут PDO_ATTR_DRIVER_NAME , чтобы проверить
драйвер, если ваш код может работать с несколькими драйверами.

PDO :: SQLSRV_TXN_READ_UNCOMMITTED
(целое число)

Эта константа является допустимым значением для TransactionIsolation ключа DSN SQLSRV.
Эта константа устанавливает уровень изоляции транзакции для подключения к
Прочтите незафиксированные.

PDO :: SQLSRV_TXN_READ_COMMITTED
(целое число)

Эта константа является допустимым значением для TransactionIsolation ключа DSN SQLSRV.Эта константа устанавливает уровень изоляции транзакции для подключения к
Прочтите Committed.

PDO :: SQLSRV_TXN_REPEATABLE_READ
(целое число)

Эта константа является допустимым значением для TransactionIsolation ключа DSN SQLSRV.
Эта константа устанавливает уровень изоляции транзакции для подключения к
Повторяющееся чтение.

PDO :: SQLSRV_TXN_SNAPSHOT
(целое число)

Эта константа является допустимым значением для TransactionIsolation ключа DSN SQLSRV.Эта константа устанавливает уровень изоляции транзакции для подключения к моментальному снимку.

PDO :: SQLSRV_TXN_SERIALIZABLE
(целое число)

Эта константа является допустимым значением для TransactionIsolation ключа DSN SQLSRV.
Эта константа устанавливает уровень изоляции транзакции для подключения к
Сериализуемый.

PDO :: SQLSRV_ENCODING_BINARY
(целое число)

Указывает, что данные отправляются / извлекаются как необработанный поток байтов на / с сервера
без выполнения кодирования или перевода.Эту константу можно передать в
PDOStatement :: setAttribute, PDO :: prepare, PDOStatement :: bindColumn и
PDOStatement :: bindParam.

PDO :: SQLSRV_ENCODING_SYSTEM
(целое число)

Указывает, что данные отправляются / извлекаются на / с сервера в виде 8-битных символов
как указано на кодовой странице локали Windows, установленной в системе.
Любые многобайтовые символы или символы, которые не отображаются на этой кодовой странице.
заменяются однобайтовым знаком вопроса (?).Эта постоянная
можно передать в PDOStatement :: setAttribute, PDO :: setAttribute, PDO :: prepare,
PDOStatement :: bindColumn и PDOStatement :: bindParam.

PDO :: SQLSRV_ENCODING_UTF8
(целое число)

Указывает, что данные отправляются / извлекаются на / с сервера в кодировке UTF-8.
Это кодировка по умолчанию. Эту константу можно передать в
PDOStatement :: setAttribute, PDO :: setAttribute, PDO :: prepare,
PDOStatement :: bindColumn и PDOStatement :: bindParam.

PDO :: SQLSRV_ENCODING_DEFAULT
(целое число)

Указывает, что данные отправляются / извлекаются на / с сервера в соответствии с
PDO :: SQLSRV_ENCODING_SYSTEM, если он указан при соединении. Связь
используется кодировка, если она указана в операторе подготовки. Эта константа может быть
передается в PDOStatement :: setAttribute, PDO :: setAttribute, PDO :: prepare,
PDOStatement :: bindColumn и PDOStatement :: bindParam.

PDO :: SQLSRV_ATTR_QUERY_TIMEOUT
(целое число)

Неотрицательное целое число, представляющее период ожидания в секундах. Ноль (0)
является значением по умолчанию и означает отсутствие тайм-аута. Эту константу можно передать в
PDOStatement :: setAttribute, PDO :: setAttribute и PDO :: prepare.

PDO :: SQLSRV_ATTR_DIRECT_QUERY
(целое число)

Указывает, что запрос должен быть выполнен напрямую, без подготовки.Эту константу можно передать в PDO :: setAttribute и PDO :: prepare. Для большего
информацию см.
»Прямое и подготовленное исполнение выписки.

Как установить Microsoft SQL PHP PDO и другие драйверы для Linux NGINX — Протестировано

Фон

За последние несколько лет Microsoft добилась огромных успехов в поддержке PHP в Linux. Обычной потребностью в приложении PHP может быть подключение к Microsoft SQL Server. Это руководство предназначено для объяснения того, как установить драйверы Microsoft SQL PHP и некоторых возможных ошибок.Он в значительной степени основан на документации Microsoft, но убран весь шум. На самом деле существует только одна ловушка (спойлер, установка ODBC Dev), но вся процедура немного громоздка, поэтому мы задокументировали ее с головы до ног.

Предварительные требования

  • Ubuntu 18.04 или любые его производные
    • Обратитесь к документации Microsoft, если вы используете другой дистрибутив Linux.
  • Версия PHP: 7.4
    • Единственный хитрый парк по отношению к другим дистрибутивам — это компиляция PECL

Шаг 1

Установить библиотеки PHP и PHP-DEV и XML

Примечание. Все три этих элемента могут быть уже установлены на современных серверах PHP.Если вы используете другую версию PHP, замените 7.4 другой версией.

 судо su
надстройка-репозиторий ppa: ondrej / php -y
apt-get update
apt-get install php7.4 php7.4-dev php7.4-xml -y --allow-unauthenticated

 

Шаг 2

Установите необходимые компоненты для драйвера ODBC

На этом этапе документация Microsoft перенесет вас на другой сайт для установки драйверов ODBC. Это может быть довольно утомительно для и без того сложного и запутанного процесса установки, но не торопитесь.

Как только вы попадете на этот целевой веб-сайт, ваша первая задача — понять, какую фактическую версию вы должны установить, а какая не работает или была временной, которая теперь устарела. Это сильно сбивает с толку и, поскольку вы только начинаете установку, может сильно раздражать. Но подождите, мы сделали всю работу, так что вы можете просто расслабиться и читать дальше.

Итак, теперь нужно установить драйвер ODBC для Ubuntu, следуя инструкциям в статье об установке Linux.Мы разместили ссылку, чтобы вам не нужно было переходить по ней, мы не будем перенаправлять вас на другую страницу.

https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-ver15

Если вы собираетесь переходить по ссылкам, переходите к Ubuntu, потому что ссылка по умолчанию в верхней части страницы содержит много запутанной информации:

https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-ver15#ubuntu17

Теперь вам, вероятно, понадобится большой экран, потому что инструкции прокручиваются за пределы экрана.Для разработки PHP настоятельно рекомендуется использовать экраны большего размера.

 судо su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key добавить - 

Дальше будьте осторожны! Вы можете выбрать неправильную версию Ubuntu, и тогда неизвестно, что произойдет.

# Ubuntu 18.04

 завиток https://packages.microsoft.com/config/ubuntu/18.04/prod.list> /etc/apt/sources.list.d/mssql-release.list 

Дальше снова будьте осторожны! Есть три набора инструкций, два из которых являются необязательными, но по моему опыту драйверы ODBC являются ключом к тому, чтобы все работало. Сначала вам нужно разобраться со странным опытом Microsoft sudo su / exit:

 выход
sudo apt-get update
sudo ACCEPT_EULA = Y apt-get install msodbcsql17 

Затем ваши необязательные пакеты, раньше, намного дальше в этой запутанной установке, вам могут понадобиться библиотеки ODBC dev! Переходите на свой страх и риск!

# необязательно: для bcp и sqlcmd

 sudo ACCEPT_EULA = Y apt-get install mssql-tools
echo 'export PATH = "$ PATH: / opt / mssql-tools / bin"' >> ~ /.bash_profile
echo 'export PATH = "$ PATH: / opt / mssql-tools / bin"' >> ~ / .bashrc
источник ~ / .bashrc 

Вот необязательные шаги, отмеченные как необязательные!

# необязательно: для заголовков разработки unixODBC

 sudo apt-get install unixodbc-dev 

Теперь вы можете перейти к первой странице. Это если вы помните, откуда вы пришли. Он называется Step 3

.

Шаг 3

Установите драйверы PHP для Microsoft SQL Server

Предупреждение! Приведенная ниже процедура работает только для PHP 7.4! Если вы воспользуетесь другой версией, котята умрут! Причины этого кошмара котят в том, что PECL попытается скомпилировать для текущей установленной версии PHP. Если у вас есть другая версия, для которой вы пытаетесь это сделать, этот учебник не подходит, но я хотел бы получить ваши комментарии ниже, если вы помогли. Я сделал это однажды и после этого так устал, что решил пойти и поспать.

Веселье ниже начинается с самой первой команды pecl install sqlsrv. Это входит в сложный процесс компиляции и не дай бог сработает с первого раза.Прекрасный фаворит здесь:

Неустранимая ошибка

: sql.h: нет такого файла или каталога
#include  

Одна вещь, которую вы должны понимать об этой команде pecl, это то, что она будет запрашивать вашу локальную установку PHP и компилировать библиотеку для этой версии. Если вы используете несколько версий PHP, возможно, вам придется поиграть с альтернативами обновления.

Следующая команда занимает много времени, и ее вывод ошеломляет. Он сообщает вам, успешен ли он, но вы должны внимательно изучить окончательный результат.

 sudo pecl установить sqlsrv 

Ищите

 Процесс сборки успешно завершен
...шум...
Вы должны добавить extension = sqlsrv.so в php.ini 

Тогда, если вам нужен PDO (все равно сделайте это, вы зашли так далеко):

 sudo pecl установить pdo_sqlsrv 

Заключительные шаги, обратите внимание, что это для PHP 7.4 и, вероятно, не будет работать, поскольку скомпилированные библиотеки предназначены для 7.4.

 судо su
printf "; priority = 20 \ nextension = sqlsrv.so \ n"> / etc / php / 7.4 / доступные моды / sqlsrv.ini
printf "; priority = 30 \ nextension = pdo_sqlsrv.so \ n"> /etc/php/7.4/mods-available/pdo_sqlsrv.ini
выход
sudo phpenmod -v 7.4 sqlsrv pdo_sqlsrv 

Последняя команда должна работать для Apache, по моему опыту, она также работает для NGINX.

php / PDO доступ к MS SQL Server из Ubuntu 16.04 LTS Server — Sinclair Services

$ host = ‘MyServer’;

$ user = ‘MyUser’;

$ pass = ‘MyPassword’;

$ dbname = ‘Моя база данных’;

try // Подключение к серверу с отчетом об ошибках try / catch

{

$ DBH = новый PDO (‘dblib: host =’.$ host. ‘; dbname =’. $ dbname, $ user, $ pass);

$ DBH-> setAttribute (PDO :: ATTR_ERRMODE, PDO :: ERRMODE_EXCEPTION);

}

catch (PDOException $ e)

{

echo «Не удалось подключиться к $ host / $ dbname:». $ E-> getMessage ();

выход ();

}

echo «Подключено к серверу $ host / $ dbname OK:
\ n»;

// Простой запрос SELECT без сообщения об ошибках

$ sql = ‘SELECT @@ VERSION as Version’;

$ STH = $ DBH-> запрос ($ sql);

$ STH-> setFetchMode (PDO :: FETCH_ASSOC);

$ row = $ STH-> выборка ();

echo $ row [‘Версия’].»


\ n»;

// Простой запрос SELECT с сообщением об ошибках try / catch

$ sql = ‘SELECT * FROM User’;

попробовать

{

$ STH = $ DBH-> query ($ sql);

$ STH-> setFetchMode (PDO :: FETCH_ASSOC);

}

catch (PDOException $ e)

{

echo «Ошибка:». $ E-> getMessage ();

выход ();

}

// Показать результаты запроса

if ($ row = $ STH-> fetch ()) // Получить первую строку и если она есть.. .

{

$ bgcolor = ‘белый’;

echo «

\ n

«;

foreach ($ row as $ key => $ value) // Выходные имена столбцов

echo «

«;

$ bgcolor = ‘светло-серый’;

эхо «

\ n

«;

foreach ($ row as $ key => $ value) // Вывод первой строки

echo «

«;

эхо «

\ n»;

}

while ($ row = $ STH-> fetch ()) // Получить последующие строки, если они есть и. . .

{

if ($ bgcolor == ‘white’) $ bgcolor = ‘lightgray’; иначе $ bgcolor = ‘белый’;

echo «

«;

foreach ($ row as $ key => $ value) // Вывод последующих строк

echo «

«;

эхо «

\ n»;

}

эхо «

$ key
«.str_replace (», », $ value). «
«.str_replace (», », $ value). «

\ n»;

?>

Как установить pdo_sqlsrv для подключения к серверам SQL — cPanel

Введение

При подключении к серверу Microsoft SQL с сервера cPanel необходимо установить pdo_sqlsrv на серверах cPanel. Существует несколько вариантов подключения к SQL-серверам, но использование pdo_sqlsrv, возможно, является лучшим вариантом и имеет наименьшие требования.

Наиболее типичные варианты подключения к SQL с сервера cPanel:

— pdo_sqlsrv (Это лучший вариант, потому что многие программы веб-сайтов, поддерживающие SQL, включают поддержку этого драйвера.)

— pdo_odbc (Многие пользователи успешно используют этот параметр, но его не так просто настроить.)

— pdo_dblib (Доступно только в PHP 5.3. Версия PHP 5.3 уже достигла EOL. EasyApache 4 также не поддерживает этот модуль.В качестве альтернативы используйте pdo_sqlsrv или pdo_odbc. )

— Расширение PHP mssql (Предупреждение: УДАЛЕНО в PHP 7.0.0. Не рекомендуется использовать это расширение, поскольку требуемая версия PHP — EOL. Используйте pdo_sqlsrv или pdo_odbc в качестве альтернативы.)

Процедура

Для продолжения войдите в систему как пользователь root через SSH или терминал. Если у вас нет root-доступа, проконсультируйтесь с администратором вашего сервера.

Примечание. Следующие шаги позволят вам включить pdo_sqlsrv для PHP версии 7.2. Те же действия будут работать и для PHP версии 7.3. Измените версию PHP с ea-php72 на ea-php73 в командах установки PECL.

1. Сначала установите драйвер Microsoft SQLSRV. Microsoft задокументировала шаги, необходимые для автоматической установки драйвера с помощью диспетчера пакетов YUM.

Установка драйвера Microsoft SQL для Linux

После успешной установки драйвера вы можете проверить это с помощью следующей команды.

 odbcinst -q -d 

Результат будет примерно таким:

 odbcinst -q -d 
[PostgreSQL]
[MySQL]
[Драйвер ODBC 17 для SQL Server]

В выходных данных драйвер 17 для SQL Server установлен успешно.

2. Убедитесь, что «popen» отсутствует в списке отключенных функций для php.ini.

Например, файл php.ini по умолчанию будет содержать строку с именем «disable_functions». Обычно список пуст, но он будет содержать запись, аналогичную приведенной ниже, если она настроена.

 disable_functions = открыть 

Удалите «popen» из списка «disable_functions», так как это приведет к сбою, аналогичному приведенной ниже ошибке. sqlsrv»
sqlsrv

5.После установки модуля SQLSRV вы можете установить компонент PDO.

 / usr / bin / ea-php72-pecl установить pdo_sqlsrv 

Вы можете проверить установленный модуль с помощью следующей команды:

 / usr / local / bin / ea-php72 -m | grep «pdo_sqlsrv» 

Результат будет примерно таким:

 / usr / local / bin / ea-php72 -m | grep «pdo_sqlsrv» 
pdo_sqlsrv

* Пакет PECL SQLSRV недавно обновлен и требует по умолчанию PHP 7.3.Это вызовет проблемы с описанными выше шагами, если вы попытаетесь установить PHP 7.2. Например, указанная ниже ошибка возникнет, когда версия PHP 7.3 является необходимой для установки SQLSRV.

 / usr / bin / ea-php72-pecl install sqlsrv 
ПРЕДУПРЕЖДЕНИЕ: канал "pecl.php.net" обновил свои протоколы,
используйте "pecl channel-update pecl.php.net" для обновления
pecl / sqlsrv требует PHP (версия> = 7.3.0), установленная версия - 7.2.34
Действительных пакетов не найдено
Ошибка установки

Чтобы обойти эту проблему, доступны два варианта.

— Используйте PHP 7.3 или выполните следующие действия, чтобы установить более старую версию модуля SQLSRV с PECL.

 / usr / bin / ea-php72-pecl установить pdo_sqlsrv-5.6.1 

* Если установка не удалась из-за ошибки ниже:

 Предупреждение: popen () был отключен по соображениям безопасности в 
PEAR / Builder.php в строке 525
ОШИБКА: не удалось запустить `phpize '

Это происходит из-за того, что файл php.ini опция «disable_functions» была изменена, чтобы отключить «popen». Удаление «popen» из списка отключенных функций устранит эту ошибку.


Теперь вы можете проверить, что драйвер PDO загружен, и он будет отображаться в следующей команде:

 / usr / local / bin / ea-php72 -i | grep 'драйверы PDO' 
драйверы PDO => mysql, sqlite, sqlsrv

Веб-сайты, использующие PHP 7.2, теперь могут подключаться к серверу SQL с помощью драйвера PDO под названием SQLSRV.

Создание приложений PHP с использованием SQL Server на RHEL

В этом разделе вы получите SQL Server 2017, работающий в Red Hat Enterprise Linux (RHEL). После этого вы установите необходимые зависимости для создания приложений PHP с SQL Server

.

Шаг 1.1 Установите SQL Server

Примечание. Для обеспечения оптимальной производительности SQL Server на вашем компьютере должно быть не менее 4 ГБ памяти.

  1. Зарегистрируйте репозиторий Microsoft Linux.

      curl https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo | sudo tee /etc/yum.repos.d/mssql-server-2017.repo
      
  2. Установите SQL Server.

      sudo yum обновить
     sudo yum установить mssql-server
      
  3. Настройте свой SQL-сервер.

      sudo / opt / mssql / bin / mssql-conf настройка
      
      Установка Microsoft (R) SQL Server (R)
    
     Чтобы прервать настройку в любой момент, нажмите Ctrl-C.Условия лицензии для этого продукта можно загрузить по адресу http://go.microsoft.com/fwlink/?LinkId=746388 и
     находится в /usr/share/doc/mssql-server/LICENSE.TXT.
    
     Вы принимаете условия лицензии? Если да, введите ДА:
     Пожалуйста, введите пароль для учетной записи системного администратора (SA):
     Подтвердите пароль учетной записи системного администратора (SA):
      

Теперь у вас есть SQL Server, работающий локально на вашем компьютере RHEL! Ознакомьтесь со следующим разделом, чтобы продолжить установку необходимых компонентов.

Шаг 1.2 Установите PHP и другие необходимые пакеты

Чтобы установить PHP в Red Hat 7, запустите следующее:

Чтобы установить PHP 7.2 или 7.3, замените remi-php74 на remi-php72 или remi-php73 соответственно в следующих командах.

  sudo su
    yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    yum install https://rpms.remirepo.net/enterprise/remi-release-7.об / мин
    репозитории менеджера подписки --enable = rhel-7-server-optional-rpms
    yum установить yum-utils
    yum-config-manager - включить remi-php74
    ням обновление
    yum установить php php-pdo php-xml php-pear php-devel re2c gcc-c ++ gcc
  

Чтобы установить PHP в Red Hat 8, запустите следующее:

Чтобы установить PHP 7.2 или 7.3, замените remi-7.4 на remi-7.2 или remi-7.3 соответственно в следующих командах.

  sudo su
    dnf установить https: // dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
    dnf установить https://rpms.remirepo.net/enterprise/remi-release-8.rpm
    dnf установить yum-utils
    сброс модуля dnf php
    Установка модуля dnf php: remi-7.4
    репозитории диспетчера подписок - включить codeready-builder-for-rhel-8-x86_64-rpms
    обновление dnf
    dnf установить php-pdo php-pear php-devel
  

Вы успешно установили PHP на свой компьютер RHEL!

SELinux устанавливается по умолчанию и работает в принудительном режиме.Чтобы разрешить Apache подключаться к базе данных через SELinux, выполните следующую команду:

  sudo setsebool -P httpd_can_network_connect_db 1
  

Шаг 1.3 Установите драйвер ODBC и служебную программу командной строки SQL для SQL Server

SQLCMD — это инструмент командной строки, который позволяет подключаться к SQL Server и выполнять запросы.

  sudo su

# Загрузите пакет, соответствующий версии ОС
# Выберите только ОДИН из следующих вариантов, соответствующий вашей версии ОС

#RedHat Enterprise Server 6
curl https: // пакеты.microsoft.com/config/rhel/6/prod.repo> /etc/yum.repos.d/mssql-release.repo

#RedHat Enterprise Server 7
завиток https://packages.microsoft.com/config/rhel/7/prod.repo> /etc/yum.repos.d/mssql-release.repo

#RedHat Enterprise Server 8 и Oracle Linux 8
завиток https://packages.microsoft.com/config/rhel/8/prod.repo> /etc/yum.repos.d/mssql-release.repo

выход
sudo yum remove unixODBC-utf16 unixODBC-utf16-devel # чтобы избежать конфликтов
sudo ACCEPT_EULA = Y yum install msodbcsql17
# необязательно: для bcp и sqlcmd
sudo ACCEPT_EULA = Y yum install mssql-tools
echo 'export PATH = "$ PATH: / opt / mssql-tools / bin"' >> ~ /.bash_profile
echo 'export PATH = "$ PATH: / opt / mssql-tools / bin"' >> ~ / .bashrc
источник ~ / .bashrc
# необязательно: для заголовков разработки unixODBC
sudo yum установить unixODBC-devel
  

После установки SQLCMD вы можете подключиться к SQL Server с помощью следующей команды:

  sqlcmd -S localhost -U sa -P ваш пароль
1> # Вы подключены! Введите здесь свои операторы T-SQL. Используйте ключевое слово «GO» для выполнения каждого пакета операторов.
  

Это способ выполнения простого встроенного запроса.Результаты будут напечатаны в STDOUT.

  sqlcmd -S localhost -U sa -P yourpassword -Q "SELECT @@ VERSION"
  
  ------------------------------------------------ --------
Microsoft SQL Server vNext (CTP2.0) - 14.0.500.272 (X64)
13 апреля 2017 11:44:40
Авторские права (c) Microsoft Corporation
    в Linux (Red Hat Enterprise Linux)

1 строка (и) возвращена

Выполнено за 1 нс
  

Вы успешно установили утилиты командной строки SQL Server на свой компьютер Red Hat!

Подключение к серверу MSSQL NATIVE SRV PDO

В Scriptcase у нас есть следующие драйверы для подключения к SQL Server: MSSQL Server NATIVE SRV, MSSQL Server NATIVE SRV PDO и MSSQL Server ODBC. Если вы используете свою собственную предварительно настроенную среду, расширения MSSQL должны быть включены вручную в PHP.

Предварительные требования

Прежде чем приступить к работе с этой документацией, проверьте свою архитектуру PHP. Для правильного включения драйверов необходимо загрузить файлы в соответствии с используемой архитектурой.

  • В вашем сценарии есть файл info.php , доступ к нему можно получить по URL-адресу: http://127.0.0.1:8091/scriptcase/info.php , где вы найдете информацию об архитектуре в phpinfo ().

ПРИМЕЧАНИЕ : Если вы используете автоматический установщик Scriptcase, архитектура PHP будет такой же, как та, которую вы скачали. Загрузите драйвер Microsoft ODBC 11 для SQL Server в соответствии с вашей архитектурой PHP.

  • Архитектура x86 = 32 бита
  • Архитектура x64 = 64 бита

Ниже перечислены файлы, необходимые для включения драйверов.

Необходимые файлы:

x64

  • Драйвер Microsoft ODBC 11 для SQL Server (x64) : Щелкните здесь

x86

  • Драйвер Microsoft ODBC 11 для SQL Server (x86) : Щелкните здесь

Прочие файлы

  • Расширения PHP (php_pdo_sqlsrv_73_nts_x64 и php_sqlsrv_73_nts_x64) : Нажмите здесь

Таблица совместимости

, если вам нужно использовать идентификаторы базы данных в таблицах или, мы рекомендуем использовать двойные кавычки () вместо скобок ( [] ) из-за конфликта с синтаксисом глобальных переменных в Scriptcase.Использование скобок в качестве идентификаторов базы данных может привести к проблемам в приложениях Scriptcase.

Настройка и включение MSSQL Server SRV PDO в Windows

ВАЖНО: Если вы используете автоматический установщик Scriptcase, расширения уже включены в PHP , для чего требуется только установка клиента. Перейти к пункту 3.

1 — Распакуйте файл .zip и скопируйте файлы из php_pdo_sqlsrv_73_nts_x64 и php_sqlsrv_73_nts_x64 .dll, ранее загруженные в папку PHP ext .

2 — В файле php.ini , расположенном в C: \ php , добавьте строки, относящиеся к расширениям сервера MSSQL php_pdo_sqlsrv_73_nts_x64 и php_sqlsrv_73_nts_x64 . См. Пример ниже:

расширение = php_pdo_sqlsrv_73_nts_x64
расширение = php_sqlsrv_73_nts_x64

3 — После загрузки драйвера Microsoft ODBC 11 Для файла SQL Server запустите установщик и выполните следующие действия:

4 — Примите условия лицензионного соглашения и нажмите «Далее».

5 — Отметьте опцию «Драйвер ODBC для SQL Server SDK» , потому что компоненты, которые нам понадобятся, также находятся в этой опции.

  • В этом случае оставьте установленным флажок «Клиентские компоненты».

6 — Нажмите «Установить», чтобы начать установку клиента.

7 — Выбранные вами программные компоненты устанавливаются.

8 — Нажмите «Готово» для выхода.

9 — Перезапустите службу Apache с помощью диспетчера задач .

  • Откройте диспетчер задач и перейдите на вкладку Services .

  • Найдите службу ApacheScriptcase9php73 или Apache2.4 и щелкните эту службу правой кнопкой мыши, затем Перезапустите .

Создание соединения в Scriptcase

См. Ниже, как создать соединение в вашем проекте Scriptcase, используя активированный драйвер и базу данных Microsoft SQL Server.

1 — Доступ к проекту из вашего сценария.

2 — Щелкните значок Новое соединение , чтобы создать соединение

или откройте меню База данных> Новое соединение .

После этого появится экран со всеми подключениями к базе данных.

3 — Выберите соединение MSSQL Server .

Подключение

Введите следующие параметры для подключения к базе данных сервера MSSQL:

  • Имя подключения : Определите имя вашего нового подключения.По умолчанию Scriptcase добавляет префикс conn вместе с именем базы данных.

  • Драйвер СУБД : выберите драйвер DB2 для подключения. В этом примере мы используем драйвер MSSQL Server NATIVE SRV PDO .

  • Сервер / хост (имя или IP-адрес) : введите IP-адрес или домен сервера, на котором установлена ​​база данных, и его экземпляр, разделенные обратной косой чертой.
  • EX: dominiodoserver.com \ SQLEXPRESS или 192.168.254.170 \ SQLEXPRESS

  • Порт : введите порт для подключения к серверу MSSQL. По умолчанию задан порт 1433 .

  • Имя базы данных : Перечислите и выберите базу данных, к которой вы будете подключаться.
  • EX: образцы

  • Имя пользователя : Сообщите пользователю о необходимости аутентификации соединения с вашей базой данных.

  • Пароль : Введите пароль для завершения процесса аутентификации.

  • Проверить соединение : Нажмите эту кнопку, чтобы получить ответ на запрос Scriptcase, чтобы узнать, верны ли введенные параметры.

Фильтр

Открыв эту вкладку, вы можете настроить, какие элементы базы данных будут отображаться при подключении, в зависимости от владельца или нет.

Показать

Позволяет соединению видеть таблицы, представления, системные таблицы и процедуры в зависимости от элементов, выбранных пользователем.По умолчанию элементы Tables и Views уже выбраны Scriptcase.

запросов

Позволяет определить, какие таблицы и владельцев отображаются.

  • Таблицы: В этой опции вы можете определить, какие таблицы будут отображаться. Конфигурация может содержать PREFIX %% или имя отображаемых таблиц.
    • По умолчанию Scriptcase оставляет этот параметр пустым.
    • Пример:
  • Владелец: Сообщите пользователю, который видит таблицы, проинформированные для отображения.
    • Пользователь должен быть написан с заглавной буквы, как в примере выше.
  • Просмотр: Выберите, будут ли отображаться таблицы для информированного владельца.

ПРИМЕЧАНИЕ. Используя фильтрацию таблиц, вы удаляете ненужные таблицы для своего проекта, а повышает производительность соединения с базой данных.

Продвинутый

На этой вкладке у вас есть доступ к определенным настройкам подключения.Настройки, сделанные в этом сеансе, влияют на отображение данных и производительность приложения.

  • Десятичный разделитель: Выберите тип разделителя для десятичных записей, между запятой и точкой.
    • По умолчанию . В качестве разделителя выбрано точек.
  • Постоянное соединение: Определите, будут ли соединения завершаться после выполнения ваших сценариев в приложениях Scriptcase.
    • По умолчанию Scriptcase отключает этот параметр.
  • Использовать схему перед именем таблицы: Определите, будет ли схема базы данных отображаться перед именами таблиц.

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *