Задать вопрос
CodeByZen
@CodeByZen
php, js, my/mssql, sqlite, html, css, it-consult

Коннект к mssql из macosx?

Очень хочется иметь возможность работать с mssql.



Конфиг такой



Есть на машинке с базой:

— Microsoft SQL Server 2000 Service Pack 4

— Microsoft Windows Server 2003 Service Pack 2 64x Standart Edition



На клиенте:

— MacOSX 10.8.4

— MAMP 2.1.1



Что уже попробовал:

— самому компилить so для php

— использовать macports для установки pdo_dblib, pdo_odbc

— естественно устанавливал freetds



Что в итоге:

— pdo_odbc говорит — «invalid data source name» — подключаю так — $dbh = new PDO(«DRIVER=odbc;dbname=dbname;host=dbserver;port=1433;user='sa';password=1234»);

— mssql_connect — «Warning: mssql_connect() [function.mssql-connect]: Unable to connect to server...»

— pdo_dblib — «SQLSTATE[] (null) (severity 0)» — подключаю так — $dbh = new PDO(«dblib:host=dbserver;dbname=dbname», «sa», «1234»);



пробовал указывать порт, и через: и через, ничего не помогает.

Причем через tsql -H dbserver -p 1433 -U sa -P 1234 -D dbname все работает…

Естественно в php.ini все есть, что надо.

В freetds.conf есть все, и положен он в нужные места, тоже и с odbc.ini



Подскажите плиз, куда копать? Второй день мучаюсь.
  • Вопрос задан
  • 3662 просмотра
Подписаться 2 Оценить Комментировать
Решения вопроса 1
CodeByZen
@CodeByZen Автор вопроса
php, js, my/mssql, sqlite, html, css, it-consult
Все получилось. Руководствовался статьей. Но помимо всего надо сделать $ export ODBCSYSINI=/opt/local/etc перед использованием isql и в envvars добавить
ODBCINI="/opt/local/etc/odbc.ini"
export ODBCINI

ODBCSYSINI="/opt/local/etc"
export ODBCSYSINI
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
@crazyASD
— MAMP 2.1.1

Попробовать собрать сервер самому. MAMP довольно косячное решение.
Ответ написан
Комментировать
EugeneOZ
@EugeneOZ
Там итак всё непросто, а у Вас ещё и версия SQL сервера старше динозавров.
Я подключался в Linux через PDO со строкой
odbc:Driver={SQL Server Native Client 11.0};Server='.$host.';Database='.$database.';CharacterSet=UTF-8
Но перед этим админ очень существенно попыхтел (патчил там что-то), чтобы оно запустилось.
Ну а если вдруг Вам понадобится работать с текстом, отличным от латиницы, да ещё и в поле с типом nvarchar, то ночи безудержного секса Вам гарантированы :)
Ответ написан
Комментировать
CodeByZen
@CodeByZen Автор вопроса
php, js, my/mssql, sqlite, html, css, it-consult
Сейчас пробую, просто руководствовался статьей http://blog.benjaminwalters.net/?p=10, да и хотелось более простое решение, а как оказалось, все не так просто.
Ответ написан
kenny_opennix
@kenny_opennix
Мы работаем с mssql через freetds.schemamania.org/
Для меня удобно.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы