En mayo 2017 tuve un nuevo requerimiento de un cliente. Tenemos lo siguiente:
• 01 pc con windows 7 y sql server 2012
• 01 servidor Centos con Apache y PHP5.4
Necesitamos obtener una lista de pacientes de la base de datos en sqlserver y mostrarla en una aplicación web que esta alojado en Centos.
Buscando en san google, links por aquí, por allá y luego de varios quebraderos de cabeza la solución se resume en un post muy bueno que encontré:
http://scriptinside.blogspot.com.es/2013/04/error-unable-to-connect-to-server.html
Instalar en este orden
> yum update
> yum groupinstall Development Tools
> yum install httpd
> yum install freetds
> yum install freetds-devel
> yum install php php-devel php-mssql
> service httpd restart
> php -m (verifico que módulos tiene instalado el php, alli debe figurar php-mssql)
> vi /etc/freetds.conf
añadimos una conexión personalizada
#mi conexion sqlserver
[sqlserver2012]
host = IP de destino
port = 1433
tds version = 8.0
grabamos y salimos. probamos la conexión
> tsql -S sqlserver2012 -p 1433 -U sa
si hay problemas como este:
Error 20009 (severity 9): Unable to connect: Adaptive Server is unavailable or does not exist OS error 110, Connection timed out
Este es el error típico de que el firewall del servidor SQL no está permitiendo las conexiones entrantes.
Error 20009 (severity 9):
Unable to connect: Adaptive Server is unavailable or does not exist
OS error 111, Connection refused
Este error significa que te estas conectando mal al servidor SQL, por ejemplo puedes estar conectandote por IP (tsql -H) con los datos por defecto en vez de conectarte utilizando tsql –S.
Tener en cuenta que este deshabilitado el firewall de windows, si todo va bien creamos el php de prueba
<?php
$msconnect=mssql_connect("sqlserver2012","sa","clave");
$msdb=mssql_select_db("nombrebd",$msconnect);
$msquery = "select titleofcourtesy,firstname,lastname from employees";
$msresults= mssql_query($msquery);
while ($row = mssql_fetch_array($msresults)) {
echo $row['titleofcourtesy'];
}
?>
sqlserver2012: es el nombre de la conexión en freetds.conf
Enamorado del blues, la trova y el rock. Un apasionado a tiempo completo de la tecnología, pivoteo y me adapto a cada nuevo paso que se da. Busco continuamente las mejores prácticas y metodologías para asegurar la calidad en el software y los procesos de negocio. Algunas horas las dedico a buscar conocimiento en filosofía y teología.
Al final no se, instale otras cosas de otra pagina, pero luego volví acá e instale todo lo que dijiste y funcionó puedo acceder a la db de sql server, gracias
Que bueno JuanKa que te haya ayudado este post! saludos.