Nieudane łączenie się z SQL Server 2005 poprzez PHP


(kubut) #1

Witam. Do tej pory zawsze używałem baz danych MySQL, jednak sytuacja zmusiła mnie do zastosowania MS SQL Server 2005, jednak już na samym początku pojawiły się problemy. Nie umiem prawidłowo połączyć się ze stworzoną przeze mnie bazą danych. Początkowo do PHP dograłem php_sqlsrv_ts.dll, jednak wtedy w phpinfo nie pokazywała mi się w ogóle sekcja dotycząca sqlsrv, a sqlsrv_connect() była dla php nieznaną funkcją. Po dograniu php_sqlsrv_52_ts_vc6.dll zaczęło być już w miarę ok, jednak nie potrafię nawiązać połączenia. Ze strony Microsoftu przekopiowałem kod [zmieniając dane takie jak nazwa bazy]:

$serverName = "KUBUT-KOMPUTER\SQLEXPRESS";

$connectionOptions = array("Database"=>"test");

/* Łączenie przy użyciu uwierzytelniania systemu Windows. */

$conn = sqlsrv_connect( $serverName, $connectionOptions);

if( $conn === false )

{

     echo "Unable to connect.";

     die( print_r( sqlsrv_errors(), true));

}

Niestety połączenia nie udaje się nawiązać, dostaję taki błąd:


(djgrzenio) #2

odpowiedź na pytanie -> w Twoim pytaniu: This extension requires either the Microsoft SQL Server 2008 Native Client (SP1 or later) or the Microsoft SQL Server 2008 R2 Native Client ODBC Driver to communicate with SQL Server.


(kubut) #3

tak więc w jaki sposób połączyć się z sql server 2005, skoro to rozszerzenie php wymaga wersji 2008?


(djgrzenio) #4

klient 2008 będzie zgodny z 2005 serwerem, a odwrotnie nie. zainstaluj i powinno smigać


(kubut) #5

Dzięki wielkie, błąd zniknął, więc prawdopodobnie udało się nawiązać połączenie-sprawdzę po południu. Nie widziałem na stronie MS żadnego dopisku o licencji klienta-można go wykorzystać w komercyjnych zastosowaniach?


(djgrzenio) #6

wydaje mi się że tak. ten dodatek dostarczany jest nawet z sql expressem, który jest dostarczany z róznym softem komercyjnym