czwartek, 20 maja 2010

Problem połączenia do serwera MSSQL z PHP

Problem dotyczy połączenia do serwera MSSQL 2005 z poziomu PHP.
Jest kilka warunków, które muszą być spełnione aby można było się połączyć z serwerem MSSQL
1. Po pierwsze - zainstalowany moduł php z rozszerzeniem mssql.
2. Standardowa instalacja PHP zawiera starą bibliotekę "ntwdblib.dll", która umożliwia tylko połączenie do serwera "SQL Server 7.0/2000". Należy pobrać nowszą wersję biblioteki "ntwdblib.dll" z np: http://www.dlldll.com/ntwdblib.dll_download.html i podmienić
3. Należy upewnić się, czy protokoły (TCP/IP and Named Pipe) dla instancji MSSQL są aktywne, jeżeli nie to je uaktywnić.
4. Czasami należy ustawić stały port połączenia dla instancji MSSQL.
5. Zrestartować serwer MSSQL jak i serwer WWW

To w zasadzie wystarcza aby połączyć się z serwerem MSSQL 2005/2008. Wystarczy tylko przeprowadzić test połączenia np: korzystając z poniższego skryptu.
<?php 
$mssqlHost = "hostname\\SQLEXPRESS"; #It is MSSQL Instance name
$mssqlUser = 'sa';
$mssqlPass = '12345';  #Your pass for sa
$s = mssql_connect($mssqlHost,$mssqlUser,$mssqlPass) or die('Could not connect to SQL Server on '.$mssqlHost.' '. mssql_get_last_message());
echo $s;
?>

Brak komentarzy:

Prześlij komentarz