Страница 1 из 1

Yii + MS SQL с драйвером SQLSRV

Добавлено: 2012.06.26, 14:54
KarinaTsar
Доброго времени суток.
Мне необходима связка Yii+MS SQL Server 2008 R2.
Я новичок и в Yii, и в MS SQL (вот так все грустно))
Драйвер SQLSRV установлен, его видно и через phpinfo(), и если напрямую вызывать функцию sqlsrv_query, например.
С драйвером проблем нет, все работает.
Проблемы возникают в настройке приложения.
В оф. документации предложена такая конфигурация:

Код: Выделить всё

'db'=>array(
   'connectionString' => 'sqlsrv:Server=HOSTNAME\SQLEXPRESS;Database=Client',
      'username' => 'sa',
      'password' => '111',
      'charset' => 'GB2312',
      'tablePrefix' => 'tbl_',
),
Гугл и поиск по http://www.yiiframework.com ответов не дали: было перепробовано огромное количество вариантов конфигурации, но итог один: при вызове gii/model, например, выпадает ошибка "CDbConnection failed to open the DB connection: could not find driver"
Кто сталкивался с подобным, подскажите решение проблемы.
Спасибо

Re: Yii + MS SQL с драйвером SQLSRV

Добавлено: 2012.06.26, 15:16
anton44eg
HOSTNAME правильный?

Re: Yii + MS SQL с драйвером SQLSRV

Добавлено: 2012.06.26, 19:29
Caveman
Реально работающая конфигурация:

Код: Выделить всё

array(
            'class'=>'system.db.CDbConnection',
            'connectionString'=>'sqlsrv:Server=SERVER_NAME;Database=DB_NAME',
            'username' => 'USERNAME',
            'password' => 'PWD',
            'charset' => 'utf8',
...
        ),

Re: Yii + MS SQL с драйвером SQLSRV

Добавлено: 2012.06.27, 07:16
KarinaTsar
server DEVSQL\DEV12008R2 (с этим значением sqlsrv_connect() отрабатывает, все ок)
может при наличии слэша и т.п. символов надо как-то экранировать? Заключить в круглые и квадратные скобки не помогло, так же как и кавычки.
добавить "'class'=>'system.db.CDbConnection'," не помогло.
я же правильно понимаю, что если проблема приконнектиться к серверу (если не может найти имя или данные пользователя не подходят), то ошибка будет не "CDbConnection failed to open the DB connection: could not find driver"?

Re: Yii + MS SQL с драйвером SQLSRV

Добавлено: 2012.07.02, 12:41
KarinaTsar
В общем был установлен другой веб-сервер (+установлены библиотеки sqlsrv) и все заработало.
Тему можно закрыть

Re: Yii + MS SQL с драйвером SQLSRV

Добавлено: 2013.02.09, 14:23
valiya
Была аналогичная проблема, помогло включение в php.ini : extension=php_pdo_sqlsrv_53_ts_vc9.dll

Re: Yii + MS SQL с драйвером SQLSRV

Добавлено: 2013.02.11, 09:48
thekip
На будущее, или для тех кто ищет подробности решения: драйверов SQLSRV есть 2, один с поддержкой PDO, другой без. Соответственно отличить их можно по названию DLLки.
В случае топик стартера была подключена не PDO библиотека, поэтому работали процедурные функции типа sqlsrv_query, но не работал Yii которому требуется PDO.

Кроме того при выборе драйвера нужно учитывать тип вашей сборки PHP (ts, nts и версию компилятора, VC9 и т.п.), все это можно посмотреть в первом информационном блоке phpinfo();