Вообщем вместе с нашим админом решили проблему. Рабочей оказалась связка FreeTDS + ODBC.
Для этого пришлось обновить freetds до последней версии 0.91 (пересобрав из исходников).
Собравшись, freetds засел не в стандартных путях, и поэтому пришлось подправить конфиг ODBC:
#/etc/odbcinst.ini
[FreeTDS]
Driver = /usr/local/lib/libtdsodbc.so
Setup = /usr/local/lib/libtdsodbc.so
CPTimeout =
CPReusage =
FileUsage = 1
TDS Version = 8.0
UsageCount = 2
Ну и просто для справки сам конфиг подключения к MS SQL Server через ODBC:
#/etc/odbc.ini
[MS]
Driver = FreeTDS
Description = production_db
Trace = No
server =
Port = 1433
Database =
User =
Password =
TDS_Version = 8.0
В самом Yii потом подключаемся к ODBC так:
#protected/config/main.php
'db'=>array(
'connectionString' => 'odbc:MS', //MS это идентификатор конфигурации который мы задали в /etc/odbc.ini
'username'=>'логин',
'password'=>'пасс',
'driverMap' => array(
'odbc' => 'CMssqlSchema'
)
),
Однако теперь словили другую проблему: кодировка.
В самом начале с ней тоже были проблемы, но они решались iconv(). Теперь же все что приходит от базы в кириллице, выводится абракадаброй. Причем понять что не так с кодировкой не получается, вывод представляет из себя что то вроде этого:
'???????\0xР№yв„–\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0'