Conectar a base de datos Microsoft SQL desde php 7.x
¡Hola!
Estuve todo el día intentando conectarme a un servidor MS SQL desde PHP 7.3 con sqlsrv_connect(), pero me resultó imposible.
Acudo a su experiencia para lograrlo!
Para hacer la prueba estoy usando el siguiente código básico de conexión:
<?php
$serverName = "ipdemiservidor\mi-instancia, puerto"; //serverName\instanceName
$connectionInfo = array( "Database"=>"MiBaseDeDatos", "UID"=>"MiUsuario", "PWD"=>"MiPassword");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn ) {
echo "Conexión establecida.<br />";
}else{
echo "Conexión no se pudo establecer.<br />";
die( print_r( sqlsrv_errors(), true));
}
?>
El error que arroja es el siguiente:
Array ( [0] => Array ( [0] => HYT00 [SQLSTATE] => HYT00 [1] => 0 [code] => 0 [2] => [Microsoft][ODBC Driver 17 for SQL Server]Login timeout expired [message] => [Microsoft][ODBC Driver 17 for SQL Server]Login timeout expired ) [1] => Array ( [0] => 08001 [SQLSTATE] => 08001 [1] => 10057 [code] => 10057 [2] => [Microsoft][ODBC Driver 17 for SQL Server]TCP Provider: Error code 0x2749 [message] => [Microsoft][ODBC Driver 17 for SQL Server]TCP Provider: Error code 0x2749 ) [2] => Array ( [0] => 08001 [SQLSTATE] => 08001 [1] => 10057 [code] => 10057 [2] => [Microsoft][ODBC Driver 17 for SQL Server]A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online. [message] => [Microsoft][ODBC Driver 17 for SQL Server]A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online. ) )
Cabe aclarar que el puerto del servidor MS SQL es accesible y que desde otro hosting con php 5.6 y mssql_connect() SI puedo lograr la conexión. El problema es aquí, con php 7.3 y sqlsrv_connect()
Desde ya, muchas gracias!!!
-
Fabio Adrian Falero como mencionaste "ipdemiservidor" supongo que tenés un servidor propio. En ese caso, viendo el error parece un error de conexión, como si tu PHP no pudiera llegar a tu SQL.
En ese caso yo revisaría el firewall del equipo, teniendo en cuenta que se podría limitar tanto el tráfico saliente de tu PHP como el tráfico entrante de tu SQL.
Si desde otro servidor llegás bien al SQL eso puede ser o bien que tengas ese servidor permitido en tu SQL o que tenés bloqueada la salida de tu servidor donde corrés el PHP.
Te sugiero que abras un ticket y lo consultes ya que el error de PHP no da más detalles.
¡Después contame! Saludos
0 -
¡Muchas Gracias Alejandro Torres!
Efectivamente, estaba bloqueado el puerto de salida en el servidor de la web, cosa que ya han modificado y ahora anda todo perfecto.
¡Saludos!
0
Iniciar sesión para dejar un comentario.
Comentarios
2 comentarios