![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 13.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
Mam na WIN XP SP2 zainstalowane XAMPP dla Windows Version 1.6.3a (PHP 5.2.3).
Chcę połączyć się z MSSQL SERVER 2005 EXPRESS (tez jest na tym kompie). Podejrzewam, że mam problemy z plikiem ntwdblib.dll . Czy w ogóle da się połączyć przy użyciu tej biblioteki z wersją serwera 2005 EXPRESS? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 199 Pomógł: 5 Dołączył: 8.07.2004 Skąd: gdynia Ostrzeżenie: (0%) ![]() ![]() |
plik ntwdblib.dll dostarczany razem z PHP 5 (wersja 2000.2.8.0) jest jakiś wadliwy. Potrzebujesz wersji 2000.80.194.0 tej biblioteki. Znajdziesz ją na googlach
-------------------- Sygnaturkę ukradli
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 13.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
Znalzałem ntwdblib.dll w wersji 2000.80.194.0, umieściłem go w C:\WINDOWS\system32 i w katalogu PHP. Dodatkowo stworzyłem usera do MSSQL SERVERA, który działa przy logowaniu
W MSSQL management studio express z authentisation: SQL SERVER. Nazwę servera w oknie logowania mam: MACIEKM\SQLEXPRESS; login: php; hasło: maciekm Wykonuję w php skrypt: <? $polacz_z_serwerem = mssql_connect('maciekm\sqlexpress', 'php', 'maciekm') or die ("nie można się połączyć"); ?> Otrzymuję w przegladarce wynik: Warning: mssql_connect() [function.mssql-connect]: Unable to connect to server: maciekm\sqlexpress in C:\xampp\htdocs\users\mssql\index.php on line 204 nie można się połączyć |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 199 Pomógł: 5 Dołączył: 8.07.2004 Skąd: gdynia Ostrzeżenie: (0%) ![]() ![]() |
ok mam:
Po pierwsze: to jest plik ntwdblibdll, który mam w katalogu C:\Serwery\PHP (tutaj jest cała instalka PP 5.2.6 - plik php.exe i cała reszta od PHP) i tylko tam, Po drugie: Sprawdź czy masz możliwość nawiązywania połączeń przez TCP/IP czylli: 1. Uruchom SQL Server Configuration Manager 2. w sekcji SQL Server 2005 Network Configuration masz Protocols for NAWA_INSTACJI_NADANA_PRZY_INSTALACJI po prawej stronie masz dostępne protokoły dostępu do bazy (domyślnie jest tylko Shared Memory), Sprawdź czy TCP/IP jest []enabled[/b] jak nie to: 3. Kliknij PPM na TCP/IP i daj Enable i zrestartuj usługę MSSQL 4. znów w "SQL Server Configuration Mnager" w sekcji "Protocols for [...]" na TCP/IP kliknij PPM i Properties na drugiej zakładce powinieneś mieć numer portu (możesz go sam dzdefiniować - chyba wtedy nie będzie się zmieniał po każdorazowym restarcie usługi) i teraz prosty kod na połączenie:
zapisz wszystko do pliku i uruchom go w przeglądarce. Jak będzie Connection OK to się połączyłeś. Ten post edytował angel2953 2.09.2008, 20:21:30 -------------------- Sygnaturkę ukradli
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Jeśl to jest MSSQL 2005 Express to w połączeniu trzeba podać port (1433)
-------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 13.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
Wszystkie ustawienia jak w Waszych podpowiedziach (plik nowy i TCP/IP było tak skonfigurowane, nawet logowałem jako sa) i nadal nie działa:
Warning: mssql_connect() [function.mssql-connect]: Unable to connect to server: MACIEKM\SQLEXPRESS,1433 in C:\xampp\htdocs\users\mssql\index.php on line 204 Ten post edytował genger 4.09.2008, 13:39:09 |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 113 Pomógł: 1 Dołączył: 13.05.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
wczoraj inastalowalem na windowsie tez xamp i ruszyło bez problemu, co zrobiłem:
podmieniłem bibliotekę ntwdblib.dll w wersji 2000.80.194.0 w c:\xamp\apache\bin\ po uprzednim zatrzymaniu xampa. nastepnie zainstalowałem MDAC w wersji 2.8 i potem MDAC 2.8 SP1 restart kompa i działa. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 13.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
Podmieniłem bibliotekę ntwdblib.dll w wersji 2000.80.194.0 w c:\xamp\apache\bin\ po uprzednim zatrzymaniu xampa (bo używał ten plik apache). IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
ZADZIAŁAŁO NARESZCIE!!!. Wykonuję próbnie selecta i mam wynik w przęglądarce UH, DZIĘKUJĘ WSZYSTKIM ZA POMOC: $polacz_z_serwerem = mssql_connect('MACIEKM\SQLEXPRESS', 'php', 'maciekm') or die ("nie można się połączyć"); if(!$polacz_z_serwerem) { die("Connection failed..."); } else { echo "Connection OK\n"; } $myDB = 'Student_kurs'; $selected = mssql_select_db($myDB, $polacz_z_serwerem) or die("Couldn't open database $myDB"); $query = "select * from Student "; $result = mssql_query($query) or die; while ($row = mssql_fetch_array($result)) { print $row[1]; print '<BR>'; } jeszcze odnośnie konfiguracji MSSQL SERVERA i jego użytkownika dla php znalazłem fajny artykuł: http://net.ratio.eu.org/2008/05/n-w-plecy-...ms-sql.html Oto jego część dotyczącą MSSQL SERVERA pod XP. Konfiguracja SQL Servera 2005 Teraz czeka nas trochę klikania - jak to na Windowsie ;p Uruchamiamy SQL Server Surface Area Configuration i klikamy Surface Area Configuration for Services and Connections. W nowym oknie rozwijamy drzewko po lewej i zaznaczamy Remote Connections. Teraz po prawej zaznaczamy Local and remote connections, poniżej upewniamy się, że aktywna jest opcja pierwsza (Using TCP/IP only) lub ewentualnie trzecia i zatwierdzamy zmiany przyciskiem OK. Zostaniemy poinformowani o konieczności ponownego uruchomienia serwera w celu wprowadzenia zmian. Oczywiście dajemy OK, ale jeszcze nie restartujemy niczego. Zamykamy wszystkie okienka, odpalamy SQL Server Management Studio i logujemy się. W oknie Object Explorer klikamy prawym przyciskiem myszy główną gałąź (tak, to ta z nazwą naszego hosta ;>), a następnie z menu kontekstowego wybieramy Properties. Otwiera się okno ustawień. Po lewej na liście Select a page zaznaczamy Security. Po prawej stronie widnieją teraz w czterech grupach ustawienia zabezpieczeń. W grupie Server authentication wybieramy SQL Server and Windows Authentication mode. Zatwierdzamy przez OK. Kolejny raz pojawi się komunikat dotyczący konieczności restartu. Wbijamy OK i lecimy dalej. Wracamy do naszego drzewka. Rozwijamy teraz gałąź Security i klikamy prawym przyciskiem myszy na Logins. Z menu kontekstowego wybieramy New Login.... Przechodzimy do utworzenia nowego użytkownika dla PHP. Z sekcji Select a page wybieramy General. Po prawej podajemy nazwę usera, zaznaczamy opcję SQL Server authentication, ustalamy oraz potwierdzamy hasło dostępu i usuwamy zaznaczenie z checkboksa przy Enforce password policy. Przechodzimy do Server Roles (lewe menu). Na liście dostępnych ról zaznaczamy sysadmin i zatwierdzamy wszystko przez OK. Oczywiście można utworzyć i przypisać PHP osobną rolę, choćby ze względów bezpieczeństwa, jednak do zastosowań domowych przedstawiona konfiguracja powinna w zupełności wystarczyć. Na koniec, wieńcząc nasze karkołomne zmagania z konfiguracją SQL Servera, uroczyście dokonujemy jego ponownego uruchomienia (eee... zrymowało się? ;p). Powtórnie popełniając prawoklik na najwyższej gałęzi drzewa Object Explorera wybieramy tym razem opcję Restart. Serwer zapyta jeszcze tylko czy aby na pewno chcemy mu to uczynić, na co odpowiemy soczystym Yessss. Ten post edytował genger 8.09.2008, 13:05:03 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 12.08.2025 - 05:39 |