Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS SQL Server > коннект из под FreeBSD


Автор: Luceus 21.4.2006, 16:51
Всем хай!

Есть сервер на FreeBSD, и в локалке есть MSSQL на Microsoft Windows 2003. Задача в следующем, нужно с помощью ПХП достучаться к MSSQL. Все установили, ничего не работает. Пишет, что не может плюключится к серверу.

По телнету машину и порт видно.


Как быть?



Спасибо. 

Автор: Vit 21.4.2006, 23:11
На сервере установленны TCP/IP библиотеки (в Server Network Utility)? Попробуйте использовать IP адрес сервера вместо имени сервера. 

PS. Почитайте документацию по PHP, Linux обычно коннектится к MS SQL Server через FreeTDS, возможно вам нужны её библиотеки устанавливать дополнительно. Я лично не знаю как PHP коннектится к серваку под Linux, какой промежуточный слой используется. 

Автор: Luceus 23.4.2006, 20:29
Спасибо за ответ! 

Автор: Vit 24.4.2006, 15:08
Цитата(Luceus @  23.4.2006,  11:29 Найти цитируемый пост)
Спасибо за ответ!  



Помогло? Если да то что? 

Автор: Luceus 25.4.2006, 11:00
Пока нет, поиски рулят. Когда запустится, отпишу что да как. 

Автор: Luceus 25.4.2006, 22:55
1. Коннект с базой MS SQL установлен. Проблема была в следующей. FreeTDS нужно устанавливать с поддержкой msdlib. Это раз, во вторых, при коннекте с пхп скрипта нужно обязательно потом указывать через двоеточие порт. Например: 10.10.2.5:1433. Сделав это все заработало.

2. Натолкнулись теперь над другую проблему. =) Линукс не понимает кодировку СР1251 =( И выдает ошибки, когда вызываешь query. Как это теперь исправить?

В мануалах написано, что нужно пхп установить с поддержкой iconv. Это с делали. Написано что нужно прописать переменные в apachectl, это тоже сделали. Но ничего все=равно не работает... в ответ выдается: ?????????. С английской базой все работает пучком.

Как быть? 

Автор: Vit 26.4.2006, 04:22
Попробуй передавать русский текст через параметры 

Автор: Luceus 26.4.2006, 10:38
Заработало =)

Проблема была в том, что нужно было установить кодировку во FreeTDS. Добавил одну строчку в [global] файла freetds.conf из /usr/local/etc/freetds.conf:

client charset = CP1251


И работает... Жжужит.


Спасибо Vit за поддержку. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)