Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: php i MSSQL
Forum PHP.pl > Forum > Przedszkole
ghash
Witam!

Wiem, że jest już wiele postów tego typu. Mam problem z mssql_connect() - sprawdziłem chyba wszystkie wskazówki na tym forum i niestety żadna mi nie pomogła... Więc może czegoś jeszcze nie zrobiłem?

Mam:
XP pro
IIS 5.0
php 5
MS SQL Server EXPRESS + Mangament Tools do zarządzania bazą MS SQL

Co już zrobiłem:
- w php.ini odhashowałem "extension"
- dorzuciłem do folderu php biblioteki php_mssql.dll i tą drugą bibliotekę, która jest niezbędna
- serwer ustawiłem, aby były możliwości logowania się do niego za pomocą WIN NT Authorisation i SQL Authorisation
- w bazie są zdefiniowani użytkownicy - do jedenego i do drugiego typu logowania się do bazy (czyli NAZWASERWERA\User dla NT oraz User dla SQL) - są z hasłami i bez, także nie jest to problem z posiadaniem hasła czy jego braku
- w zabezpieczeniach lokalnych włączyłem opcję dla anonimowych użytkowników (znalezione na tym forum)
- odbc jest poprawne dodane - testy przechodzą dobrze - czy wogóle odbc jest potrzebne, jeżeli php chce się logować do bazy danych na komputerze lokalnym?

- skrypt connectu do bazy, gdzie nazwa instancji serwera to SQLEXPRESS
  1. <?php
  2. $link = mssql_connect('NAZWASERWERASQLEXPRESS','NAZWASERWERAUser','');
  3. ?>

lub
  1. <?php
  2. $link = mssql_connect('NAZWASERWERASQLEXPRESS','User','');
  3. ?>



Czy w ODBC należy ustawić łączenie się poprzez TCP/IP i określony port, czy wybrać raczej określony pipe (którym też próbowałem, z tym że wtedy nazwa takiego pipe'a jest długa i ma w sobie nazwę instacji i inne nazwy, których ja nie definiowałem)?

Komunikat jaki otrzymuję to: Unable to connect to server NAZWASERWERA\SQLEXPRESS

Z nazwą serwera próbowałem różnie: od samego local, poprzez local\sqlexpress po sqlexpress... Także kombinacje dużych, małych liter...

W php.ini znalazłem także opcję "enable WIN NT Authorisation", którą ustawiałem na ON i na OFF - dalej nic... Ma w ogóle ona być na ON? Co to w ogóle daje?

Czy php może być blokowany przez coś? IIS, FIREWALL, MS SQL?
Męczę się już trochę z tym...

Acha... Serwer MySQL działa poprawnie! Problem pojawia się z MS SQL'em...



Chyba wszystko opisałem... Macie jakieś pomysły?questionmark.gif
Jak na razie testuje to wszystko na swoim komputerze w domu, ale w przyszłości bazę danych oraz skrypty php będę musiał przenieść do pracy, więc chciałbym rozwiązać ten problem i ewentualnie dowiedzieć się na co zwrócić uwagę instalując to wszystko w pracy (gdzie do serwera będą się łączyły inne komputery)...


Dzięki za ewentualne odpowiedzi:)
wipo
A wpisz <?
php_info();
?>
i zobacz czy masz mssql jako wkompilowany moduł
ghash
Tak - to jest...
Wcześniej jak nie dorzuciłem ntw....dll to mówił, że nie może załadować biblioteki, ale teraz jest w porządku...

Do czego w ogóle służy ta opcja NT authorization w php.ini?
Pozwala na łączenie się z php użytkownikom windowsowskim?
jastu
Mam nadzieję że to jest coś jak LDAP... tongue.gif tylko mniej kodu do napisania
ghash
A co lepsze...
Wczoraj w ciągu 15 minut skonfigurowałem MySQL który z php współdziała...
Więc problem pewnie stoi za MSSQL'em... Albo konfiguracja php?



A może MS SQL EXPRESS jest niekompatybilny z php 5 questionmark.gifquestionmark.gifquestionmark.gifquestionmark.gif?

Już wszystko działa!

Otóż:
bilbioteka ntwdblib.dll którą wziełem z instalacji php ma wersję 7.0
Aby połączyć się z MS SQL Server EXPRESS należy mieć wersję 8.0!!!!

Wersję tę mam instalacji CD servera MS SQL Server 2000 - prawdopodobnie da się to także ściągnąć z netu.

Teraz wszystko jest ok.



Pewnie wiele osób też ma problem z tą biblioteką, więc może umieścić tą odpowiedź gdzieś w dobrym dziale?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.