Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

MS SQL Server Express 2005 + PHP - не пойму, как сделать подключение

6.6K
13 июня 2007 года
noff
67 / / 01.08.2006
MS SQL SERVER вижу не совсем впервые, но работал только с майкрософтовской оболочкой.

Хочу теперь работать из PHP.

Имею вот что:
имя_сервера: WINGEDFOX\MSSQL
// WINGEDFOX - имя компьютера, MSSQL - имя копии SQL-сервера
проверка_подлинности: Проверка подлинности Windows

Хочу выполнить в PHP:
mssql_connect("WINGEDFOX\MSSQL");

Сообщает:
Warning: mssql_connect() [function.mssql-connect]: Unable to connect to server: MSSQL in Z:\home\test\location.php on line 18

Не может подключиться. Пробовал и 127.0.0.1 и localhost и просто MSSQL и ".\MSSQL". Не получается.

Как подключиться к нему?

ЗЫ: как посмотреть, на каком порту висит SQL SERVER ? голова уже совсем не соображает
12
18 июня 2007 года
alekciy
3.0K / / 13.12.2005
Ну для начала я бы убедился, что MS SQL SERVER запущен и слушает положенный ему порт.
Пуск - Выполнить... -cmd:
Код:
C:\Documents and Settings\Сундуков Алексей>tasklist

Имя образа                   PID Имя сессии       № сеанса       Память
========================= ====== ================ ======== ============
....
mysqld-nt.exe                304 Console                 0    12*084 КБ
Apache.exe                   240 Console                 0    21*284 КБ
....

C:\Documents and Settings\Сундуков Алексей>netstat -ano

Активные подключения

  Имя    Локальный адрес        Внешний адрес          Состояние       PID
  TCP    0.0.0.0:80             0.0.0.0:0              LISTENING       240
  TCP    0.0.0.0:3306           0.0.0.0:0              LISTENING       304
...

Т.е. по tasklist я вижу, что сервер запущен (у меня это MySQL, кстати для данной задачи Диспетчер задач тоже подходит, главное PID процессе выудить), а по netstat я вижу, что он у меня слушает 3306 порт как и положено.
6.6K
19 июня 2007 года
noff
67 / / 01.08.2006
Ну так вот. Да. Я настроил MS SQL SERVER, висит на порту 1433, слушает их, все замечательно. В процессах и в netstat видно его.
Пишу в PHP:
Цитата:
mssql_connect("localhost,1434");


запускаю, говорит:

Цитата:
Warning: mssql_connect() [function.mssql-connect]: Unable to connect to server: localhost,1434 in


Аналогично и с

Цитата:
mssql_connect("localhost:1434");


т.е. никак. MySQL при этом работает нормально, нопроблемс.

28K
21 июня 2007 года
AndMan
6 / / 04.06.2007
mssql_connect ( [string servername [, string username [, string password]]] )
попробуй mssql_connect('localhost','sa','');
например, .. или под другим пользователем.
6.6K
21 июня 2007 года
noff
67 / / 01.08.2006
Нет. И так не получается.
12
21 июня 2007 года
alekciy
3.0K / / 13.12.2005
Цитата: AndMan

например, .. или под другим пользователем.


Так у него выдает, что нет связи с СУБД. По идее при неверных авторизационных данных так и должен говорить. А может на серваке где в настройках стоит запрет обслуживания вообще каких либо запросов? В том числе и localhost.

6.6K
21 июня 2007 года
noff
67 / / 01.08.2006
В SQL Server Configuration Manager открыл "Сетевая конфигурация" - "Протоколы для SQLEXPRESS" - TCP/IP - Вкладка "IP-адреса" - параметры для IP1, IP2 поставил: TCP-порт = 1433, Активен = Да, Включено = Да, Динамические порты = пообрубал, IP адрес - сооответственно 127.0.0.1 и адрес в локальной сети.

Толку никакого.
12
21 июня 2007 года
alekciy
3.0K / / 13.12.2005
Ого... да, видно дело совсем труба... Вот поэтому я и не люблю MS... :D
31K
22 июля 2007 года
Tengo
2 / / 22.07.2007
Цитата: noff
mssql_connect("WINGEDFOX\MSSQL");

Во-первых, удвой обратный слеш в строке:

 
Код:
mssql_connect ("WINGEDFOX\\MSSQL");
У меня такая же проблема, при чём удвоение слеша не помогает. Warning пропадает, но mssql_connect всё равно возвращает false. Попробую обновить PHP, попробую переустановить сервак на default instance - MSSQLSERVER. Ещё на php.net прочитал в коментах, что надо обновить ntwdblib.dll. Если ничего не поможет, попробую поюзать ODBC.
9
22 июля 2007 года
Lerkin
3.0K / / 25.03.2003
Подключался через ADODB. Намучился - преизрядно :)
Помогла только такая строка подключения:
 
Код:
Provider=SQLNCLI.1 (или Driver={SQL Native Client}; )
Server=MYHOST\SQLEXPRESS;Database=MYDB;Trusted_Connection=yes;

Все нормально, работа ведется под моей учёткой (установлена только Windows-авторизация).

К сожалению, совершенно не знаю PHP. Может быть, там можно как-нибудь задавать строку подключения, или юзать аттрибуты подключения?
31K
31 июля 2007 года
Tengo
2 / / 22.07.2007
Цитата: Tengo
Попробую обновить PHP, попробую переустановить сервак на default instance - MSSQLSERVER. Ещё на php.net прочитал в коментах, что надо обновить ntwdblib.dll.

Помогло обновление ntwdblib.dll. mssql_connect заработал.

P.S. ODBC тоже рабоает.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог