sql >> Base de Datos >  >> RDS >> Sqlserver

Dirección de SQL Server para conectarse usando php

Si su edición es SQL Server Express, probablemente debería estar usando:

$objConnect = mssql_connect("localhost\SQLEXPRESS","usr","pass");

O si es una instancia con nombre, entonces

$objConnect = mssql_connect("localhost\InstanceName","usr","pass");

Si necesita conectarse de forma remota, obviamente no debería usar localhost ya que ¿cómo localiza el servidor web remoto su localhost ? Debería usar uno de los siguientes (suponiendo que el servidor web remoto pueda ver su máquina con la dirección 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");

Por supuesto, su firewall debe tener el puerto 1433 (y posiblemente el 1434) abierto para aceptar esa conexión, y hay una variedad de otras cosas que también pueden salir mal aquí.

Sin embargo, una pequeña sugerencia de depuración 101. En lugar de:

if($objConnect)  
{  
  echo "Database Connected.<br />";  
  echo mssql_error();
}  
else  
{  
  echo "Database Connect Failed.<br />";  
}  

Por qué no:

if($objConnect)  
{
  echo "Database Connected.<br />";  
}  
else  
{  
  echo "Database Connect Failed.<br />";  
  echo mssql_error();
}  

Seguramente no necesita escribir un error en la página cuando la base de datos se conecta con éxito. Y decirnos el mensaje de error real que recibe puede equiparnos mejor para orientarlo en la dirección de una solución. Un mensaje genérico de "Error en la conexión de la base de datos" que usted escribió no le dará a nadie ninguna pista sobre lo que realmente salió mal. Pero apuesto mssql_error() podría!