Я пытаюсь подключить проект CodeIgniter 3 к SQL Server 2008 на веб-сервере, работающем с WAMP.
Я попытался подключиться к базе данных с помощью sqlsrv, odbc и pdo dbdrivers, но не смог сделать это до сих пор.
Вот то, что я пробовал до сих пор,
- Установил драйверы sqlsrv для PHP и установил их.
sqlsrv
и pdo_sqlsrv
отображаются на странице локального хоста WAMP и на странице phpinfo ()
Это мой файл database.php,
$active_group = 'default';
$query_builder = TRUE;
$db['default'] = array(
'dsn' => '',
'hostname' => '172.20.15.52',
'username' => 'ivrserver',
'password' => 'ivrserver',
'database' => 'HMS-Migration',
'dbdriver' => 'sqlsrv',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
Однако я получаю эту ошибку на каждой странице проекта,
A Database Error Occurred
Unable to connect to your database server using the provided settings.
Filename: C:/wamp64/www/ghms/system/database/DB_driver.php
Line Number: 436
Я пыталсяиспользовать разъем ODBC.Я сделал системный DNS из источников данных ODBC, который подключается к базе данных SQL Server и изменил файл database.php следующим образом:
$db['default'] = array(
'dsn' => '',
'hostname' => 'mssqltest',
'username' => 'ivrserver',
'password' => 'ivrserver',
'database' => 'HMS-Migration',
'dbdriver' => 'odbc',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
Это позволяет подключиться к базе данных, но получается Query Builder не работает с ODBC .¯ \ _ (ツ) _ / ¯
Затем я повернулся, чтобы попробовать pdo для подключения к SQL Server, и внес следующие изменения в database.php
$db['default'] = array(
'dsn' => 'sqlsrv:server=172.20.15.52,1433;Database=HMS-Migration',
'hostname' => '',
'username' => 'ivrserver',
'password' => 'ivrserver',
'database' => '',
'dbdriver' => 'pdo',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
. Это требует от меня установкидрайверы sql для PHP, но я думаю, что они у меня уже есть!
A Database Error Occurred
SQLSTATE[IMSSP]: This extension requires the Microsoft ODBC Driver for SQL Server to communicate with SQL Server. Access the following URL to download the ODBC Driver for SQL Server for x64: https://go.microsoft.com/fwlink/?LinkId=163712
Filename: C:/wamp64/www/ghms/system/database/drivers/pdo/pdo_driver.php
Line Number: 142
Я вернулся, чтобы проверить установку моего драйвера,
- У меня php 7.0.32 x64 с безопасностью потоковenabled
- Проверено C: \ wamp64 \ bin \ php \ php7.0.32 \ ext на правильность .dll
php_pdo_sqlsrv_7_ts_x64.dll
php_sqlsrv_7_ts_x64.dll
Проверено, файл php.ini
extension=php_pdo_sqlsrv_7_ts_x64.dll
extension=php_sqlsrv_7_ts_x64.dll
Оба расширения отображаются в трее в меню wamp как включенные расширения PHP
Вопрос,
Хотя я проверил все, что было в моих силах, так как он все еще не 'Я не могу подключиться к базе данных - я где-то ошибаюсь.Как правильно подключить проект CodeIgniter 3 к SQL Server?
Редактировать
Я думаю, что нашел решение.Ошибка на pdo dbdriver просила меня установить драйвер ODBC для MS SQL, но я вместо этого проверил драйвер PHP для MS SQL.Я перешел по ссылке в сообщении об ошибке, загрузил драйвер ODBC и теперь он работает!Глупый я!