Połącznie z bazą mssql

Witam,

Mam problem z połączeniem się do bazy mssql. Mój plik w którym próbuje nawiązać połączenie to:

$myServer = "TU_PODAJE_IP_LOKALNEGO_SERWERA_BAZY_MSSQL";

$myUser = "XXX";

$myPass = "XXX";

$myDB = "XXX";


//connection to the database

$dbhandle = mssql_connect($myServer, $myUser, $myPass)

  or die("Couldn't connect to SQL Server on $myServer");


//select a database to work with

$selected = mssql_select_db($myDB, $dbhandle)

  or die("Couldn't open database $myDB");

Serwer na którym próbuje wykonać połączenie jest w sieci lokalnej z tym serwerem gdzie stoi baza mssql. Na ten serwer gdzie mam umieszczony w/w plik loguje się poprzez klienta TC i ftp z innego miasta Polski i mogę dowolnie edytować w/w plik na serwerze. Co robię nie tak? Proszę o pomoc. Dodam, iż po wywołaniu phpinfo() pokazuje mi jakieś ustawienia mssql czyli powinno być ok.

Sprawdź czy firewall cie nie odcina.

niby to nie firewall

Spróbuj połączyć się standardowym klientem mssql.

(E_ALL);[/code]

I podaj nam jakie wyskakują błędy.



Port nie ustawiony?

Nie połącze sie std. klientem mssql bo tam trzeba miec IP zewnetrzne bo łącze się przez neta(z innego miasta polski) a ja mam lokalne IP które mogę wpisać tylko w pliku serwera aplikacji który to serwer jest w sieci lokalnej z tym serwerm mssql. No chyba, że można jakoś połączyć się przez neta poprzez klienta mssql do tej bazy która nie ma zew IP?

Wyskakuje taki błąd:

Warning: mssql_connect(): Unable to connect to server: 192.168.2.100 in /home/services/httpd/html/shop/connect_mssql.php on line 12 Call Stack: 0.0001 634773 4. {main}() /home/services/httpd/html/shop/connect_mssql.php:0 0.0001 636323 3. mssql_connect() /home/services/httpd/html/shop/connect_mssql.php:12

baza działa na porcie domyślnym.

Czyli rozumiem że do serwera aplikacji masz dostęp zewsząd, a on ma dostęp do serwera bazy danych, który jest widoczny tylko dla serwera aplikacji.

Połączyć się można tunelująć połączenie, tylko pewnie trzeba odpowiednie porty odblokować/przekierować - ale tu to nie ma sensu.

Wywala się ewidentnie na tym

 mssql_connect($myServer, $myUser, $myPass) [/code]

Czyli IP serwera i/lub login i/lub hasło są nieprawidłowe. Wiesz na 100% że te dane są poprawne? Skąd je masz?

W adres hosta możesz wpisać poprzez np. 192.168.2.100:1433 jeśli to serwer linuxowy, i 192.168.2.100,1433 jeśli to serwer windowsowy. (o ile 1433 to ten domyślny port)

ra-v , 192.168.2.100:1433 zadziała w obu przypadkach, wg mnie należy sprawdzić firewalla. Połączyć się z serwerem na którym stoi PHP przez putty i z poziomu linuksa odpalić std. klienta. Jak on się nie połączy - to szukasz poprawnego adresu lub sposobu obejścia/wyłączenia firewalla, a jak się połączy to szukasz problemów w PHP. Dopóki nie wiesz po której stronie szukać to niewiele wskórasz.

a znacie może jakiegoś darmowego klienta do obsługi mssql którego możecie polecić przez którego mógłbym się połączyć?

Nie potrzebujesz najlepszego stabilnego klienta, potrzebujesz byle jakiego aby odpalić góra kilka razy. Czyli nawet darmowy nie musi być, może być wersja np 30 dniowa.