Есть веб приложение написанное на пхп, которое работает с базой лежащий на соседней машине в mssql 2005. Раньше это приложение работало под iis6, сейчас требуется все это перевести на апач и отказаться от windows server.
Все пхп скрипты работают нормально, однако те скрипты которые содержат. к примеру такой запрос к базе: exec mxGetCurItog '01.11.2009', '24.11.2009', выпадают с ошибкой:
Код: Выделить всё
message: Error converting data type varchar to datetime. (severity 16) in /www/....
Если в скриптах изменить сам запрос в скриптах на "exec mxGetCurItog '20091101', '20091124'" то скрипт отрабатывает. Идея переписывать куюеву тучу скриптов не айс.
Локаль cp1251 стоит.
Смена tds version с 8.0 на 4.2, не помогло (http://forum.lissyara.su/viewtopic.php? ... 1&p=168612)
Игра с параметрами php.ini параметром mssql.datetimeconvert тоже не дало результатов.
freetds.conf
Код: Выделить всё
node-1# more /usr/local/etc/freetds.conf
[global]
initial block size = 512
initial block size = 512
swap broken dates = no
try server login = yes
try domain login = no
cross domain login = no
swap broken money = no
dump file = /tmp/freetds.log
[onlc_192.168.0.7]
host = 192.168.0.7
port = 1433
client charset = CP1251
tds version = 8.0
Код: Выделить всё
node-1# more /usr/local/etc/locales.conf
[default]
date format = %Y-%m-%d %H:%M:%S
Код: Выделить всё
node-1# locale
LANG=ru_RU.CP1251
LC_CTYPE="ru_RU.CP1251"
LC_COLLATE="ru_RU.CP1251"
LC_TIME="ru_RU.CP1251"
LC_NUMERIC="ru_RU.CP1251"
LC_MONETARY="ru_RU.CP1251"
LC_MESSAGES="ru_RU.CP1251"
LC_ALL=ru_RU.CP1251