Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Endereço do SQL Server para conectar usando php


Se sua edição for SQL Server Express, você provavelmente deve estar usando:
$objConnect = mssql_connect("localhost\SQLEXPRESS","usr","pass");

Ou se for uma instância nomeada, então
$objConnect = mssql_connect("localhost\InstanceName","usr","pass");

Se você precisar se conectar remotamente, obviamente não deve usar localhost desde como o servidor web remoto localiza seu localhost ? Você deve estar usando um dos seguintes (assumindo que o servidor web remoto pode ver sua máquina com o endereço IP 192.168.5.22):
$objConnect = mssql_connect("192.168.5.22\SQLEXPRESS","usr","pass");
$objConnect = mssql_connect("192.168.5.22\NamedInstance","usr","pass");
$objConnect = mssql_connect("192.168.5.22","usr","pass");

É claro que seu firewall deve ter a porta 1433 (e possivelmente 1434) aberta para aceitar essa conexão, e há uma variedade de outras coisas que podem dar errado aqui também.

No entanto, uma pequena sugestão de depuração 101. Ao invés de:
if($objConnect)  
{  
  echo "Database Connected.<br />";  
  echo mssql_error();
}  
else  
{  
  echo "Database Connect Failed.<br />";  
}  

Por que não:
if($objConnect)  
{
  echo "Database Connected.<br />";  
}  
else  
{  
  echo "Database Connect Failed.<br />";  
  echo mssql_error();
}  

Certamente você não precisa escrever um erro na página quando o banco de dados se conectar com sucesso. E nos informar a mensagem de erro real que você recebe pode nos equipar melhor para apontá-lo na direção de uma solução. Uma mensagem genérica "Database Connect Failed" que você escreveu não dará a ninguém nenhuma pista sobre o que realmente deu errado. Mas eu aposto mssql_error() poderia!