Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Łączenie z zewnętrznym serwerem SQL Server 2005
misiek95
post 25.06.2011, 20:16:25
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 18.05.2011
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


Witam!

Mam dwa serwery:
1. Windows Web Server 2008 R2 z zainstalowanym IIS a w nim uwierzytelnianiem systemu Windows (tzw. zintegrowanym)
2. Windows Server 2008 R2 z zainstalowanym SQL Server 2005 (nie ma pozwolenia na instalację IIS)

Zlecono mi utworzenie połączenia z uwierzytelnianiem systemu Windows z witryny na IIS z serwera 1 do bazy SQL serwera 2 za pomocą PHP. Skrypt PHP może połączyć się z serwerem ale nie zalogować. Otrzymuję komunikat:
  1. Unable to connect.
  2. Array ( [0] => Array ( [0] => 28000 [SQLSTATE] => 28000 [1] => 18456 [code] => 18456 [2] => [Microsoft][SQL Server Native Client 10.0][SQL Server]Login failed for user 'ZARZĽDZANIE NT\LOGOWANIE ANONIMOWE'. [message] => [Microsoft][SQL Server Native Client 10.0][SQL Server]Login failed for user 'ZARZĽDZANIE NT\LOGOWANIE ANONIMOWE'. ) [1] => Array ( [0] => 28000 [SQLSTATE] => 28000 [1] => 18456 [code] => 18456 [2] => [Microsoft][SQL Server Native Client 10.0][SQL Server]Login failed for user 'ZARZĽDZANIE NT\LOGOWANIE ANONIMOWE'. [message] => [Microsoft][SQL Server Native Client 10.0][SQL Server]Login failed for user 'ZARZĽDZANIE NT\LOGOWANIE ANONIMOWE'. ) )


Skrypt wygląda tak:
  1. /* Specify the server and connection string attributes. */
  2. $serverName = "nazwa serwera 2";
  3. $connectionInfo = array( "Database"=>"test");
  4.  
  5. /* Connect using Windows Authentication. */
  6. $conn = sqlsrv_connect( $serverName, $connectionInfo);
  7. if( $conn === false )
  8. {
  9. echo "Unable to connect.</br>";
  10. die( print_r( sqlsrv_errors(), true));
  11. }
  12.  
  13. /* Query SQL Server for the login of the user accessing the
  14. database. */
  15. $tsql = "SELECT CONVERT(varchar(32), SUSER_SNAME())";
  16. $stmt = sqlsrv_query( $conn, $tsql);
  17. if( $stmt === false )
  18. {
  19. echo "Error in executing query.</br>";
  20. die( print_r( sqlsrv_errors(), true));
  21. }
  22.  
  23. /* Retrieve and display the results of the query. */
  24. $row = sqlsrv_fetch_array($stmt);
  25. echo "User login: ".$row[0]."</br>";
  26.  
  27. /* Free statement and connection resources. */
  28. sqlsrv_free_stmt( $stmt);
  29. sqlsrv_close( $conn);


Próbowałem łączyć się z serwera 1 do bazy lokalnej SQL Server 2005 - to działa, zwraca komunikat "(nazwa serwera)/(nazwa użytkownika)". Mogę również połączyć się z serwera 1 na serwer 2 za pomocą SQL Server Management Studio. Co mam więc zmienić/doinstalować, żeby zalogować się do SQL Server'a na serwerze 2?

Z góry dzięki za pomoc

Ten post edytował misiek95 25.06.2011, 20:17:09
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
prachwal
post 9.07.2011, 16:42:38
Post #2





Grupa: Zarejestrowani
Postów: 171
Pomógł: 18
Dołączył: 13.03.2009
Skąd: lublin

Ostrzeżenie: (0%)
-----


a komputery są w domenie?
jeżeli nie to hmm czarno to widzę, w tym przypadku login i hasło do SQL-a to lepsze rozwiązanie a następnie przełączanie kontekstu za pomocą roli aplikacji po stronie MSSQL-a
Go to the top of the page
+Quote Post
misiek95
post 4.08.2011, 11:16:15
Post #3





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 18.05.2011
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


Ok, zostawię uwierzytelnianie SQL Server. Dzięki za pomoc smile.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.06.2025 - 00:37