martes, 4 de septiembre de 2012

MS Sql en RHEL

Por motivos de trabajo, he tenido al fin la necesidad de conectar desde Linux con una base de datos de MS-Sql y como siempre paso por aca para dejar la receta de como hacerlo. El proceso es bien sencillo y simplemente es necesario bajarnos un par de paquetes, realizar la configuración y listo, ya tendremos nuestra conexión operativa.

El escenario al que aplica este articulo es uno en el que tienes una aplicación que requiere conectarse a un segundo equipo donde se ejecuta el MS-Sql. Para el caso especifico, tenemos un equipo con una aplicación desarrollada en php, el cual ya tiene instalado el servidor apache y el php.

En cualquier caso, y esto sobre todo para aquellos que quieran documentarse un poco mas, es esta solución vamos a emplear la biblioteca Freetds (I,II) y el paquete php-mssql el cual nos permite hacer uso de las funciones Ms-Sql dentro de nuestro código php.

El proceso

Lo que debemos hacer primeramente es instalar los siguientes paquetes:

  • Freetds,
  • Php-mssql (o el equivalente para el lenguaje en el que tenemos el desarrollo).
Normalmente, el proceso se limitaria a ejecutar:

# yum install  freetds.arch php-mssql.arch

* donde arch hace referencia a la arquitectura de nuestra plataforma.

Luego de realizada la instalación de los paquetes es momento de realizar la configuración del TDS, para ello simplemente debemos modicar el archivo de configuración del tds e indicarle los parámetros de nuestro servidor.

  • Accedemos al archivo /etc/freetds.conf
# vi /etc/freetds.conf
  • Ubicamos la linea (A typical Microsoft server) y procedemos a modificarla.
  • Agregamos los parametros de configuración en base a nuestro escenario asi:
# A typical Microsoft server
[NombreServidor]
        host = Dirección IP
        port = puerto
        tds version = VersiónDelTDS
 
 
Es muy importante, que los parámetros estén bien configurados dentro del archivo para que de esta forma nuestra aplicación se pueda conectar de manera correcta, en tal sentido, debemos incluso asegurarnos de tener correctamente seleccionado la versión del TDS (varia en base a la versión de MS-Sql que use nuestro server).

Dentro del /etc/freetds, también podemos habilitar el registro de log, el cual es muy útil a la hora de monitorear y de hacer diagnostico de errores, para ello simplemente debemos descomentar la opción de dump en el log.

Finalmente, podemos probrar que todo este bien ejecutando:

# tsql -S NombreServidor -p Puerto -U UsuarioBaseDatos

Esto nos debería permitir conectarnos al servidor especificado.
 





No hay comentarios: