| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Базы Данных > sql2008, как к нему добраться ? |
| Автор: SharedNoob 6.10.2008, 13:25 |
| Доброго времени суток, господа. Собственно задача проста, получить доступ к MS SQL 2008 из пхп. Стандартные драйвера, которые работают на MSSQL2000 не работают. Пробовал извратнуться с двумя серверами, 2000 и 2008 через linkedservers, доступ к данным получил, а вот выполнять хранимые процедуры таким образом нельзя. п.с. SQL сервер и WEB сервер стоят физически на одной машине. |
| Автор: SharedNoob 8.10.2008, 19:31 |
| То есть никак ? p.s. не верю ! |
| Автор: skyboy 8.10.2008, 20:08 | ||
| скорее всего, это означает то, что никто из находящихся на форуме не пытался использовать такую связку. соответственно, не наступал на грабли неработоспособности. и не знает ответа на вопрос "что же делать?" если посмотреть в ман, то можно увидеть такое:
Откуда возникает вопрос: установлены ли Client Tools и/или скопирована ли необходимая dll актуальной версии сервера в папку, где её может найти PHP? Точно ли происходит попытка подключения через named pipes и настроена ли работа через эти самые named pipes? |
| Автор: SharedNoob 8.10.2008, 22:02 | ||
| Итак, Господа, отвечаю на поставленный мною вопрос. В SQL 2005-2008 немного изменился алгоритм авторизации. Соответственно стандартные драйвера этого не знают и подключение не проходит. Докопавшись до сути происходящего, я нашел что за это дело отвечает библиотека ntwdblib.DLL . Чем я собственно и воспользовался, взяв эту библиотеку из SQL server 2008 и подменил одноименную в апаче. Результатом стало вознаграждение долговременного поиска решения проблемы. Теперь я беспроблемно подключаюсь к люсой версии SQL сервера. п.с. файл ntwdblib.dll должен быть версии не ниже 2000.80.2039.0, размер библиотеки этой версии 290 816 байт. п.п.с. Пример кода применения:
п.п.п.с. Решил таки прикрепить саму библиотеку ntwdblib.dll к ответу, вдруг кому пригодиться. |