Ошибка «Недопустимый драйвер БД» при подключении платформы CodeIgniter к серверу Sql

Это ошибка:

Была обнаружена ошибка. Неверный драйвер БД

Я использую фреймворк CodeIgniter 3.1.9 для веб-сайта и нахожусь в процессе подключения базы данных, которую я импортировал в HeidiSQL, к фреймворку.

Чтобы подключиться к базе данных, я решил установить драйверы sql-сервера для конкретной версии php, которая у меня есть (PHP 7.2.9). Кстати, у меня установлен Microsoft SQL Server 2012 Native Client, а моя операционная система — Windows 7 Professional 64 бит.

Я создал папку внутри CodeIgniter с именем «sqlsrv» и установил внутри драйверы.

Я настроил файл php.ini следующим образом, добавив необходимые расширения:

extension=sqlsrv
extension=php_sqlsrv.dll
extension=php_sqlsrv_72_ts_x64.dll
extension=php_sqlsrv_72_ts_x86.dll
extension=php_pdo_sqlsrv_72_ts_x64.dll
extension=php_pdo_sqlsrv_72_ts_x86.dll
extension=php_pdo.dll

А вот файл конфигурации database.php (значения server/hostname, port, username, database/dbname и password не соответствуют действительности из соображений безопасности):

$active_group = 'default';
$query_builder = TRUE;
$db['default'] = array(
    'dsn'   => 'Driver={SQL Server 2012 Native Client};server=192.168.7.88;port=1422;dbname=database_name;username=user_name;password=pass',
    'hostname' => '192.168.7.88', 
    'username' => 'user_name', 
    'password' => 'pass', 
    'database' => 'database_name', 
    'dbdriver' => 'sqlsrv', 
    'dbprefix' => '',
    'pconnect' => FALSE, 
    'db_debug' => TRUE ,
    'cache_on' => FALSE,
    'cachedir' => '',
    'char_set' => 'utf8',
    'dbcollat' => 'utf8_general_ci',
    'swap_pre' => '',
    'autoinit' => TRUE, 
    'encrypt' => FALSE,
    'compress' => FALSE,
    'stricton' => FALSE,
    'failover' => array(),
    'save_queries' => TRUE

);

Я попытался изменить содержимое внутри значения «dsn» и оставить его пустым, включив больше драйверов сервера sql и бесконечные другие способы, такие как использование odb (бесполезно, потому что построитель запросов не разрешен), и он все еще не работает.


person Ann    schedule 26.09.2018    source источник
comment
попробуйте вариант pdo - что-то вроде 'dsn' => 'sqlsrv:server=192.168.7.88,1422;Database=database_name' и ваш драйвер должен быть 'dbdriver' => 'pdo'   -  person sintakonte    schedule 26.09.2018
comment
Возможный дубликат Как подключиться к SQL База данных сервера в CodeIgniter?   -  person Javier Larroulet    schedule 27.09.2018