Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Podłaczenie do MS SQL 2008 z pomocą mssql_connection
Forum PHP.pl > Forum > Bazy danych > Microsoft SQL Server / MSDE
Krzysztof67
Witam.
Najpierw do czego to potrzebuję, żeby zaznaczyć dlaczego tak, a nie inaczej.
Mam rozwiązać problem, zebrania kilku danych z tabeli na MS SQL 2008 u klienta. Moja aplikacja chodzi w MySQL.
Nie wiem, czy będę mógł podmieniać pliki w php na serwerze klienta,, dlatego próbuję rozwiązań prostych. Nie potrzebuję też dużej wydajności.
Najpierw postawiłem sobie trialową wersję MS SQL2008 na localhost (192.168.1.108) o nazwie MARK, i porcie 1433
Założyłem tabelę (test) i użytkownika (php z hasłem php) oraz przydzieliłem uprawnienia.
Dodatkowo ustawiłem i załączyłem protokół IP

Niestety komunikaty nie są obarczone entuzjazmem.

W przypadku próby podłaczenia:
mesql_connection('192.186.1.108,1433','php','php') mam komunikat :
mssql_connect() [function.mssql-connect]: Unable to connect to server: 192.186.1.108,1433 in ...
jeżeli na tym samym komie, co MSSQL na localhost odpalam skrypt z ustawieniem:
mesql_connection('MARK','php','php') to błyskawicznie komunikat:
warring: mssql_connect() [function.mssql-connect] message: Login falied for user 'php' (severity 14) ...
Nie znam się na MS SQL (pracuję na Oracle i MySQL), więc proszę, jezeli mam szukać czegoś pod MS o łopatoligiczne wykłady.
Większość porad i Internecie proponuje dodanie odpowiedniego drivera. nie wiem jednak, czy mój program zostanie postawiony na serwerze dedykowanym.
vokiel
Domyślam się, że hosting na win;)

http://forum.php.pl/index.php?showtopic=12...mp;#entry649617
erix
Ściągnij sobie najnowszą wersję ntwdblib.dll i skopiuj do katalogu systemowego.
Krzysztof67
Dziękuję. Jutro będę próbował.
Czadus
Witam, proszę o pomoc przy próbie połączenia z bazą danych MSSQL 2008 za pomocą php. Obecnie moje połączenie wygląda następująco:

[HTML] pobierz, plaintext
  1. $host='';
  2. $uzytkownik='';
  3. $haslo='';
  4. $bazaDanych='';
  5. $serwer=mssql_connect($host,$uzytkownik,$haslo);
  6. $baza=mssql_select_db($bazaDanych,$serwer);
[HTML] pobierz, plaintext

O ile w MySQL nie miałem problemów o tyle tutaj mam kilka. Po pierwsze nie wiem co dokładnie podać w zmiennej $host, baza działa na porcie 1433. W konfiguracji TCP/IP bazy znalazłem różnego rodzaju adresy IP, jednak każdy z nich ma następujące ustawienia: Activ (Yes), Enable (No), może wystarczy ustawić Enable na Yes, po czym napisać np. w $host='169.254.99.125:1433';??

Kolejna sprawa dotyczy samego logowania, bowiem domyślnie moja baza ustawione ma Windows Authentication, a ja potrzebuję SQL Authentication, jak dodać użytkownika, aby działał on poprawnie, bowiem czego nie zrobiłem do tej poru, uruchamiając SQL Managera, nie mogłem za pomocą tych danych zalogować się do bazy, tym samym nie mogłem zrobić tego samego w samym skrypcie php.

Liczę na waszą pomoc, bo ja przesiedziałem przy tym już kilka godzin i niestety do tej pory nie udało mi się nic konkretnego z tym zrobić, a jest to dla mnie wyjątkowo pilna sprawa. Z góry dziękuję.

Rozwiązanie
Problem rozwiązany, w rezultacie okazał się bardzo prosty. Miałem problem z dodaniem do MSSQL nowego użytkownika z loginem oraz hasłem, a przynajmniej tak mi się z początku wydawało. Okazało się jednak, że problem nie tkwił w ich dodawaniu, ale w ustawieniach samej bazy. Domyślnie miałem ją ustawioną na Windows Authentication, a wystarczyło zmienić na opcję Mix Mode, gdzie możliwy będzie również dostęp do bazy poprzez SQL Authentication. Gdzie taką opcję znaleźć?? Otwieramy MS SQL 2008 Managment Studio, logujemy się do naszego serwera, po lewej stronie, gdzie pojawia się drzewko składników, wybieramy prawym klawiszem myszy Properties naszego serwera głównego. Następnie w zakładce Security zmieniamy "Windows Authentication mode" na "SQL Server and Windows Authentication mode". I to wszystko.
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.