Не удается заставить Code Igniter подключиться к локальному экземпляру SQL Server Express - PullRequest
0 голосов
/ 28 января 2019

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

У меня работает экземпляр SQL Express на моем ПК, я уже проверилпорт 1433 прослушивает, запустив netstat -an:

enter image description here

Я могу подключиться через telnet с помощью следующей команды:

telnet SQLEXPRESS 1433

Вот так выглядит мой database.php файл:

$active_group = 'mssql_common';

$db['mssql_common']['hostname'] = 'SQLEXPRESS';
$db['mssql_common']['username'] = 'ssEPA_User';
$db['mssql_common']['password'] = '**********';
$db['mssql_common']['database'] = 'ssEPA_DEV';
$db['mssql_common']['dbdriver'] = 'mssql';
$db['mssql_common']['dbprefix'] = '';
$db['mssql_common']['pconnect'] = false;
$db['mssql_common']['db_debug'] = true;
$db['mssql_common']['cache_on'] = false;
$db['mssql_common']['cachedir'] = '';
$db['mssql_common']['char_set'] = 'utf8';
$db['mssql_common']['dbcollat'] = 'utf8_general_ci';
$db['mssql_common']['swap_pre'] = '';
$db['mssql_common']['autoinit'] = true;
$db['mssql_common']['stricton'] = false;
$db['mssql_common']['port']     = 1433;

Но по какой-то неизвестной мне причине я продолжаю получать следующую ошибку:

Невозможно подключиться к серверу базы данных с использованием предоставленных настроек.Имя файла: core / Loader.php Номер строки: 346

Для настройки hostname Я перепробовал все эти комбинации (по одной за раз):

$db['mssql_common']['hostname'] = 'SQLEXPRESS'; // instance name
$db['mssql_common']['hostname'] = 'ARX1607\SQLEXPRESS'; // pc_name\instance name
$db['mssql_common']['hostname'] = 'localhost';
$db['mssql_common']['hostname'] = '127.0.0.1';
$db['mssql_common']['hostname'] = '192.168.56.1'; // DHCP address

Ни один извышесказанное сработало.Это сводит меня с ума!!!

Примечание: Я использую Code Igniter 2.3.1 (устаревшее приложение и не могу обновить) и PHP 5.3.3 (не спрашивайте меня, почему: p lol)Приложение работает внутри коробки VirtualBox с использованием Vagrant, поэтому PHP, Apache находятся на стороне сервера (гостевая), SQLServer на стороне Windows (хост).

Есть какие-нибудь идеи?

Я проверил несколько сообщений здесь, таких как:

И попробовал почти все, но использовал sqlsrv драйвер.Опять какие-нибудь идеи?

Драйвер mssql установлен и включен, см. Ниже:

enter image description here

...