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!