Я работаю над веб-проектом, который должен быть развернут на 64-битной машине Windows 2008 Server под управлением IIS 7.5 и PHP 5.3.8. База данных в системе - Microsoft SQL Server 2008 R2. Я разрабатываю приложение на платформе CodeIgniter 2.1.0, и я немного озадачен тем, чтобы заставить его подключаться к SQL Server.
Я пытался использовать драйверы баз данных MSSQL, ODBC и SQLSRV и обнаружил три отдельные ошибки для каждого отдельного драйвера.
Вот моя конфигурация для ODBC:
$db['default']['hostname'] = 'SA';
$db['default']['username'] = 'petre';
$db['default']['password'] = 'start';
$db['default']['database'] = 'petre';
$db['default']['dbdriver'] = 'odbc';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;
У меня есть DNS для SA, определенный в Источниках данных, и я уверен, что имя пользователя и пароль действительны, и что сервер принимает Смешанную аутентификацию (аутентификация Windows + SQL).
Я автоматически загружаю библиотеку БД, и для любой доступной страницы я получаю:
Unable to connect to your database server using the provided settings.
Filename: C:\inetpub\wwwroot\system\database\DB_driver.php
Line Number: 124
Если я пытаюсь подключиться через MSSQL, я просто получаю пустую страницу, несмотря ни на что.
Если я пытаюсь использовать SQLSRV, используя следующие параметры:
$db['default']['hostname'] = '127.0.0.1';
$db['default']['username'] = 'petre';
$db['default']['password'] = 'start';
$db['default']['database'] = 'petre';
$db['default']['dbdriver'] = 'sqlsrv';
Несмотря на то, что я ссылаюсь на файл DLL sqlsrv в php.ini, я получаю следующее сообщение:
PHP Fatal error: Call to undefined function sqlsrv_connect() in C:\inetpub\wwwroot\system\database\drivers\sqlsrv\sqlsrv_driver.php on line 76
Я читал о старых сообщениях и разных взглядах, но мне еще предстоит решить проблему.
Я ищу решение только для одного драйвера БД - все, что позволяет подключить его, вполне подойдет. У кого-нибудь есть советы по решению этой проблемы?