Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Połączenie MSSQL serwer - konfiguracja
Forum PHP.pl > Forum > Bazy danych > Microsoft SQL Server / MSDE
adi456
Witam proszę o pomoc

Nie znam się za dobrze na tym ale chciałbym się połączyć z bazą w celu wydobywania drobnych informacji lecz nie moge poradzić sobie z połączeniem do tej bazy

próbuje się połączyć za pomocą
  1. $username="sa";
  2. $password="";
  3. $database="***";
  4.  
  5.  
  6. mysql_connect("***",$username,$password);
  7. @mysql_select_db($database) or die("Nie odnaleziono bazy danych");


dużo kombinowałem i zawsze pokazuje się "Nie odnaleziono bazy danych" z informacji które wyszukałem do tej pory wynika iż należy odpowiednio skonfigurować serwer

oto parametry:

Micsrosoft SQL Server Service Manger
Version 8.00.760

Dostęp do bazy poprzez
AdminSQL.exe
Version 5.2.0.0

Posiadam stałe publiczne IP

Proszę o pomoc, dodam jeszcze że w serwer pracuje z programem PCMarket i bardzo ważne jest żeby czegoś nie popsuć miedzy komunikacją PCMARKET - MSSQL SERVER
vokiel
Do łączenia się z MSSQL nie używa się funkcji dedykowanych do MySQL. Do tego masz przecież mssql_connect
adi456
zmieniłem na mssql_connect
  1. $username="sa";
  2. $password="";
  3. $database="***";
  4. mssql_connect("***",$username,$password);
  5. @mssql_select_db($database) or die("Nie odnaleziono bazy danych");


i pokazuje

Fatal error: Call to undefined function mssql_connect() in ***.php on line 13 (z przykładu linia 4)

a gdzie znaleść nr portu?
vokiel
Manuala wypadałoby przeczytać dokładniej, a nie zmienić tylko nazwę funkcji. Poza tym trzeba mieć dodane rozszerzenie do mssql.

Funkcja przyjmuje następujące parametry:
Kod
resource mssql_connect ([ string $nazwa_serwera [, string $nazwa_użytkownika [, string $hasło [, bool $nowy_identyfikator_połączenia ]]]] )

Poza tym nie wiem czemu od razu wygaszasz błędy znakiem @? Pierwszy lepszy przykład łączenia się z bazą:
  1. <?php
  2. // Serwer w następującym formacie: <komputer>\<nazwa instancji> lub
  3. // <serwer>,<port> jeśli używany jest niestandardowy port
  4. $server = 'KALLESPC\SQLEXPRESS';
  5.  
  6. // Połączenie do MSSQL
  7. $link = mssql_connect($server, 'sa', 'phpfi');
  8.  
  9. if (!$link) {
  10. die('Wystąpił błąd podczas połączenia do MSSQL');
  11. }
  12. ?>
adi456
Doczytałem i kombinowałem na wszystkie sposoby w tym przypadku wywala błąd

Fatal error: Call to undefined function mssql_connect() in ***.php on line 5 (w przykładzie użytkownika "vokiel" linia 7)
prachwal
Cytat(adi456 @ 8.10.2010, 09:00:17 ) *
Doczytałem i kombinowałem na wszystkie sposoby w tym przypadku wywala błąd

Fatal error: Call to undefined function mssql_connect() in ***.php on line 5 (w przykładzie użytkownika "vokiel" linia 7)


masz niedoinstalowany moduł do obsługi MSSQL-a, pewnie brakuje biblioteki ntwdblib.dll w katalogu widocznym przez apache czyli httpd.exe -> http://www.php.net/manual/en/function.mssq...nnect.php#77437
tudzież skorzystaj z innej metody połączenia z bazą np. PDO i sterownika od Microsoft: http://www.tfconsulting.com.au/node/11
adi456
napisałem do Admina serwera na którym umieszczam skrypt i uzyskałem odp:

można jaśniej ?
gdzie brakuje biblioteki ?
Serwer jest linuksowy więc skąd pomysł że obsługuje MSSQL ?

co zrobić w takiej sytuacji

nospor
Cytat
Serwer jest linuksowy więc skąd pomysł że obsługuje MSSQL
Dobry jest.... weź mu powiedz, ze ty nie chcesz serwera mssql a jedynie biblioteki do łączenia się z mssql w php. Może to zrozumie.... co za gość...
A, i powiedz mu że te biblioteki są dostępne również na linuksie smile.gif

ps: co to za hosting?
adi456
hosting indexo.pl


administratorzy mnie olewają blinksmiley.gif może ktoś pomoże zbudować mini serwer na komputerze? Wiem że jest o tym dużo artykułów ale chodzi o to że ten pc jest na windowsie xp wiec wydaje mi się że przy mojej znajomości konfiguracji serwerów pewnie każdy niby haker będzie się mógł włamać i ukraść cenne informacje lub skasować? może uda się zrobić jakąś mini instalacje żeby tego uniknąć? potrzebna będzie tylko obsługa PHP + MSSQL ? czy może lepiej zainstalować cały zestaw np Krasnal i spędzić parę tygodni na szukaniu artykułów na temat zabezpieczania własnego serwera?

Bardzo proszę o opinie na ten temat
vokiel
Na Xp możesz zainstalować sobie XAMPP'a, z tym, żeby mieć serwis dostępny z zewnątrz musisz mieć publiczne IP lub dyndns, przekierowanie portów na routerze do Twojego komputera. Poza tym wypada zabezpieczyć porządnie system - uruchamiać procesy serwera, bazy danych z innego użytkownika z ograniczonymi uprawnieniami, ograniczonym dostępem do dysku, etc.

Własny serwer w domu jest ok, masz nad nim pełną kontrolę (dopóki nikt Ci się nie włamie i go nie przejmie:-p ), ale są też minusy: w przypadku gdy wyłączysz komputer strona zniknie z sieci, większe rachunki za prąd, sam pilnujesz systemu - konfiguracji, aktualizacji, backupów, bezpieczeństwa, itd.

Może lepiej wykup sobie jakiś hosting, nawet najtańszy, ale gdzieś, gdzie admin rozróżnia bibliotekę do łączenia się do MSSQL od samego silnika bazy (np tanio jest na http://www.linuxpl.com od 48,80 zł brutto/rok) i miej to z głowy.
adi456
Udało się chyba admin serwera przeczytał ten wątek bo doinstalował ten moduł guitar.gif

ale teraz mam takie pytanie, chce się połączyć z bazą MSSQL na moim komputerze, mam publiczne ip ale i tak się nie chce połączyć domyślam się że muszę odblokować port w routerze pytanie tylko który to port i jak to sprawdzić? Z tego co czytałem to baza przy instalacji wybiera sobie losowy czy to prawda?


rozwiązanie:

okazało się że żaden port nie jest potrzebny wystarczyło włączyć DMZ na routerku
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-2024 Invision Power Services, Inc.