Sql odbc driver for php

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

Драйверы Майкрософт для PHP для SQL Server предназначены для обеспечения надежной и масштабируемой интеграции с SQL Server для приложений PHP на платформах Windows, Linux и macOS. Драйверы — это расширения PHP, которые позволяют выполнять чтение и запись в SQL Server базах данных во всех выпусках SQL Server (включая выпуски Express) в скриптах PHP. Доступны два драйвера: драйвер SQLSRV предоставляет процедурный интерфейс для взаимодействия с SQL Server. Драйвер PDO_SQLSRV реализует объектно-ориентированный интерфейс PDO PHP для работы с базами данных.

Api драйверов включает поддержку проверки подлинности Active Directory, транзакций, привязки параметров, потоковой передачи, доступа к метаданным, обработки данных в Юникоде и обработки ошибок. Драйверы используют Microsoft ODBC Driver для SQL Server для взаимодействия с SQL Server. Драйверы также поддерживают Microsoft SQL Azure Database, позволяя разработчикам создавать приложения PHP с реляционными возможностями с помощью SQL Azure Database.

Драйверы Майкрософт для PHP для скачивания SQL Server доступны всем пользователям SQL Server. Выпуски и исходный код драйверов доступны на странице проекта GitHub. Полная документация по драйверам доступна в Microsoft Learn. Ниже приведен краткий обзор установки и настройки в Windows и IIS.

Требования к системе

Полные сведения о требованиях к системе для всех поддерживаемых версий драйвера можно найти на странице системных требований. Требуется наличие следующего программного обеспечения:

  • На компьютере клиента выполните следующее.
    • Поддерживаемая операционная система Windows, Linux или macOS
    • Поддерживаемая версия PHP
    • Поддерживаемая версия Драйвера Microsoft ODBC для SQL Server
    • Веб-сервер, настроенный для запуска PHP
    • Поддерживаемая версия базы данных SQL Server или Azure SQL

    Установка драйверов

    Драйверы Майкрософт для PHP для SQL Server можно установить с помощью установщика веб-платформы. Чтобы скачать и установить драйверы вручную, выполните следующие действия.

    1. Скачайте и запустите пакет установки по соответствующей ссылке на странице скачивания.
    2. Введите каталог для извлечения пакета при появлении запроса.
    3. Откройте каталог, выбранный на шаге 3, и скопируйте необходимые библиотеки DLL в каталог расширения PHP. Имена файлов указывают, для какой версии PHP, потока и архитектуры предназначен каждый dll-файл. Например, php_sqlsrv_73_ts_x64.dll является 64-разрядным драйвером SQLSRV для потокобезопасного (ts) PHP 7.3.
    4. Скачайте и установите Microsoft ODBC Driver для SQL Server по соответствующей ссылке на странице загрузки ODBC.
    5. Измените php.ini файл, добавив в раздел следующие строки Extensions :

    Настройка драйверов

    1. Получите текущие параметры конфигурации для драйвера SQLSRV с помощью sqlsrv_get_config функции или для драйвера PDO_SQLSRV с помощью PDO::getAttribute функции .
    2. Измените параметры конфигурации для драйвера SQLSRV с помощью sqlsrv_configure функции или для драйвера PDO_SQLSRV с помощью PDO::setAttribute функции .
    3. Убедитесь, что драйверы загружены, и проверьте параметры конфигурации, выполнив скрипт, который вызывает функцию phpinfo():
      1. Откройте текстовый файл и скопируйте в него следующий код:

      Таблица с параметрами конфигурации локальных и master значений.

    4. Сохраните файл как info.php в корневом каталоге IIS.
    5. Откройте браузер и перейдите на страницу http://localhost/info.php .
    6. Прокрутите страницу вниз, чтобы найти sqlsrv разделы и pdo_sqlsrv . Убедитесь, что драйверы загружены, а для параметров конфигурации заданы значения по умолчанию (см. рис. 1). Рис. 1. страница SQL Server параметров конфигурации
  • Создание подключения к базе данных

    При использовании драйвера sqlsrv_connect() SQLSRV функция используется для установления соединения с сервером. При использовании драйвера PDO::__construct PDO_SQLSRV функция используется для установления соединения с сервером.

    Подключения можно устанавливать с помощью проверка подлинности Windows, проверки подлинности SQL Server или проверки подлинности Azure Active Directory. По умолчанию используется проверка подлинности Windows. В большинстве сценариев это означает, что удостоверение процесса или поток веб-сервера (если веб-сервер использует олицетворение) используется для подключения к серверу, а не удостоверение пользователя.

    Ссылки для получения дополнительных сведений

    Источник

    Настройка в Linux подключения к MariaDB из PHP с помощью ODBC

    Обновлено и опубликовано

    Опубликовано: 01.12.2020

    Использование ODBC в PHP позволит делать SQL-запросы независимо от типа СУБД — это может быть MySQL/MariaDB, MS SQL, Sybase, Oracle, PostgreSQL и так далее. Мы рассмотрим подключение к MariaDB. Предложенная инструкция протестирована на Linux Ubuntu и CentOS. Наши действия разобьем по шагам:

    ODBC connector

    Для начала мы должны установить ODBC connector. Нам понадобиться скачать на наш сервер архив, поэтому сначала инсталлируем wget. а) на CentOS / Red Hat:

    Открываем браузер и заходим на страницу загрузки коннекторов MariaDB и выбираем ODBC connector, а также нашу операционную систему, например: * в данном случае мы загрузим коннектор для CentOS 8. Ниже на этой же страницы мы увидим ссылку на скачивание нужного нам коннектора. Копируем данную ссылку: С помощью wget и скопированной ссылки загружаем на сервер коннектор:

    Установка и подготовка к работе СУБД

    Для проверки настройки нам нужен сервер баз данных. Если его нет, то установим mariadb-server на тот же сервер, где и развернули ODBC. а) для CentOS / Red Hat:

    * для наших тестов мы создали базу с названием my_db. Дадим права на подключение и работу с созданной базой данных:

    * данной командой мы разрешили доступ к базе my_db пользователю odbc_user, который будет подключаться с локального компьютера и паролем odbc_password. Подключаемся к созданной базе данных:

    > CREATE TABLE IF NOT EXISTS `users` (
    `id` int(10) unsigned NOT NULL auto_increment,
    `name` varchar(512) NOT NULL,
    `rights` varchar(64) NOT NULL,
    PRIMARY KEY (id)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

    * наша созданная таблица будет состоять из 3 столбцов — id, name и rights. Добавим 3 строки в нашу таблицу:

    > INSERT INTO users (`name`, `rights`) VALUES (‘Дмитрий’, ‘admin’), (‘Оля’, ‘superuser’), (‘Антон’ ,’operator’);

    Установка и настройка ODBC

    .
    [MariaDB]
    Description = ODBC for MariaDB
    Driver = /usr/lib/libmaodbc.so
    Driver64 = /usr/lib64/libmaodbc.so
    FileUsage = 1
    .

    * в данном примере описано подключение к СУБД с драйвером MariaDB и путем до файла с библиотекой (отдельно для 32- и 64-разрядной версии). Открываем файл:

    [ODBC]
    Driver = MariaDB
    USER = odbc_user
    PASSWORD = odbc_password
    Server = 127.0.0.1
    Database = my_db
    Port = 3306
    • ODBC — произвольное название для нашего подключения.
    • Driver — драйвер, который мы будем использовать. Его мы описали в файле /etc/odbcinst.ini.
    • USER — пользователь, под которым будем подключаться к базе. Используем данные для ранее созданной учетной записи в mariadb.
    • PASSWORD — пароль для созданного ранее пользователя, под которым мы будем подключаться к базе.
    • Server — сервер баз данных. В нашем примере локальный сервер.
    • Database — имя созданной базы данных.
    • Port — порт, на котором слушает сервер. 3306 используется по умолчанию для MariaDB.

    Пробуем подключиться к базе с использованием ODBC:

    * где ODBC — название для подключения, которое мы задали на предыдущем шаге.

    Мы должны увидеть командную строку для ввода команд sql — пробуем получить данные из нашей таблицы users:

    Мы должны увидеть что-то на подобие:

    Можно выходить из sql-оболочки:

    Настройка php

    Теперь настроим подключение из php. Мы рассмотрим 2 способа подключения — с помощью odbc_connect и PDO.

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

    odbc_connect

    Ставим расширение php-odbc (а также сам php, если его нет на сервере).

    apt-get install php php-odbc

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

    $driver = «DRIVER=MariaDB»;
    $server = «127.0.0.1»;
    $db_name = «my_db»;
    $port = «3306»;
    $user = «odbc_user»;
    $password = «odbc_password»;
    $ocon = odbc_connect(«;Server=;Database=;Port=;String Types=Unicode», $user, $password);

    $result = odbc_exec($ocon, «SELECT * FROM users LIMIT 10»);
    while ($mass = odbc_fetch_array ($result)) print_r($mass);
    >

    * в данном листинге мы задаем параметры для подключения к локальному серверу (127.0.0.1) с учетными данными, которые создали при настройке СУБД. После мы выполняем выборку и выводим результат на экран.

    Или же мы можем сократить наш скрипт. Ранее для проверки мы создали ODBC DSN в файле /etc/odbc.ini. PHP с помощью odbc_connect может ссылаться для соединения на него. Итого, получаем:

    $ocon = odbc_connect(«ODBC», «odbc_user», «odbc_password»);

    $result = odbc_exec($ocon, «SELECT * FROM users LIMIT 10»);
    while ($mass = odbc_fetch_array ($result)) print_r($mass);
    >

    * обратите внимание, что мы передаем функции odbc_connect только 3 параметра для подключения:

    1. ODBC — название для нашего DSN.
    2. odbc_user — имя пользователя для подключения к базе данных.
    3. odbc_password — пароль для подключения к базе.

    PDO

    Ставим расширение php-pdo (а также сам php, если его нет на сервере).

    apt-get install php php-pdo

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

    $pcon = new PDO(«odbc:Driver=MariaDB;Server=127.0.0.1;Database=my_db;»,»odbc_user»,»odbc_password»);

    try $result = $pcon->query(«SELECT * FROM users LIMIT 10»);
    $mass = $result->fetchAll(PDO::FETCH_ASSOC);
    print_r($mass);
    > catch (Exception $e) throw new PDOException(var_export($pcon->errorInfo(),true));
    >

    * в данном листинге мы задаем параметры для подключения к локальному серверу (127.0.0.1) с учетными данными, которые создали при настройке СУБД. После мы выполняем выборку и выводим результат на экран.

    Или же мы можем сократить наш скрипт. Ранее для проверки мы создали ODBC DSN в файле /etc/odbc.ini. PHP с помощью PDO может ссылаться для соединения на него. Итого, получаем:

    $pcon = new PDO(«odbc:ODBC»,»odbc_user»,»odbc_password»);

    try $result = $pcon->query(«SELECT * FROM users LIMIT 10»);
    $mass = $result->fetchAll(PDO::FETCH_ASSOC);
    print_r($mass);
    > catch (Exception $e) throw new PDOException(var_export($pcon->errorInfo(),true));
    >

    * обратите внимание, что мы передаем функции PDO только 3 параметра для подключения:

    1. odbc:ODBC — способ соединения с базой и название для нашего DSN.
    2. odbc_user — имя пользователя для подключения к базе данных.
    3. odbc_password — пароль для подключения к базе.

    Проверка запроса

    После того, как мы создали скрипт проверки любым из вышеописанных способов, запускаем его на исполнение:

    Мы должны получить следующий результат:

    Array
    (
    [id] => 1
    [name] => Дмитрий
    [rights] => admin
    )
    Array
    (
    [id] => 2
    [name] => Оля
    [rights] => superuser
    )
    Array
    (
    [id] => 3
    [name] => Антон
    [rights] => operator
    )

    Подключение к MariaDB с помощью ODBC настроено.

    Возможные ошибки

    Call to undefined function odbc_connect()

    Возникает при попытке запустить скрипт, который подключается к базе с помощью функции odbc_connect.

    Причина: для нашей версии php не установлено расширение php-odbc.

    Решение: команда для установки зависит от используемого типа дистрибутива Linux.

    Проверить, что нужное расширение установлено можно командой:

    Читайте также

    Вам также может оказаться полезным:

    Источник

    Читайте также:  Как заблокировать код html
Оцените статью