Curso gratuito Linux – Consultas a MsSQL desde Linux

 Como siempre mencionamos en nuestro blog, los ambientes mixtos son una realidad que alcanza también a las bases de datos. Por eso hoy vamos a aprender a hacer consultas a MsSQL desde Linux.

Ya sea para crear una pagina web en php, obtener datos para trabajar en nuestra planilla de calculo, generar reportes, u otro tipo de necesidad desde nuestra estación de trabajo con Linux o desde un servidor, hacer consultas a MsSQL desde Linux es posible gracias a FreeTDS.

Microsoft SQL Server innegablemente es un motor de bases de datos muy afianzado en el mercado, y como tal, muchas empresas tienen sus bases de datos corriendo en este motor.

Muchas veces no es posible hacer una migración total a software libre open source y debemos crear ambientes mixtos para poder satisfacer nuestra necesidades. Por suerte existen soluciones, herramientas, desarrollos o como cada uno prefiera llamarlo que nos van a ayudar a poder enfrentar esos requerimientos. FreeTDS es una biblioteca de programación de software libre, que nos va a permitir interactuar con MsSQL desde Linux.

Comencemos!

En nuestro equipo, validados como superusuario vamos a instalar lo necesario con el comando:

aptitude install freetds-common freetds-bin tdsodbc
MsSQL desde Linux
Instalando freetds

Luego de haber instalado, vamos a editar el archivo de configuracion para incluir a nuestro servidor Microsoft SQL Server de la siguiente manera:

vi /etc/freetds/freetds.conf
MsSQL desde Linux
Configurando freetds

Arriba observamos algunos ejemplos y en la ultima parte nuestro servidor donde:

[serversql] corresponde al nombre del servidor MsSQL

host = 192.168.2.200 corresponde a la direccion IP

port = 1433 corresponde al puerto TCP

tds version = 8.0 corresponde a la versión a utilizar, en mi caso se trata de Microsoft SQL Server 2014 Express ya que, obviamente, MsSQL NO es un software gratuito.

En cuanto a las versiones, podemos decir que con la version 8.0 vamos a tener compatibilidad para todas las versiones de MsSQL

Empezando a consultar

En el ejemplo he creado una base llamada Linux que contiene una tabla llamada Usuarios con el siguiente contenido:

Usuario                                            Nombre                                             Apellido                                           email
-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- --------------------------------------------------
jperez                                             Juan                                               Perez                                              juan@mail.com
jrodriguez                                         Jose                                               Rodriguez                                          jrodriguez@mail.com
afernandez                                         Antonio                                            Fernandez                                          afernandez@mail.com
ralvarez                                           Rosa                                               Alvarez                                            ralvarez@mail.com
mhernandez                                         Maria                                              Hernandez                                          mhernandez@mail.com
agonzalez                                          Ana                                                Gonzalez                                           agonzalez@mail.com

(6 filas afectadas)

Ahora, vamos a ver como tenemos que hacer para consultar esa tabla MsSQL desde Linux

Vamos a instalar un cliente para consultas desde la terminal de la siguiente manera:

aptitude install sqsh
MsSQL desde Linux
Instalando sqsh

Luego de que la instalación finalice, vamos a ejecutar nuestra consulta de la siguiente manera:

sqsh -S sqlserver -U linux -P pruebalinux -D linux

Donde, -S sqlserver es el nombre de nuestro servidor según el archivo de configuracion, -U linux el nombre de usuario, -P pruebalinux la clave del usuario y -D linux la base de datos que vamos a consultar

MsSQL desde Linux
Comenzando a consultar

Se nos abrira una nueva linea de comando donde vamos a ejecutar nuestras consultas.

Vamos a hacer una simple consulta de todos los registros de nuestra tabla usuarios y que el resultado nos lo de separado por comas.

MsSQL desde Linux
Consultando desde sqsh

En el ejemplo consultamos la consulta de TODOS los registros de la tabla usuarios con el comando

select * from usuarios

Y con el comando

go -m csv

Nos dara el resultado separado por comas.

Esta es LA PUNTA DEL OVILLO hay MUCHO para hacer y aprender. Se puede generar la salida a archivo en distintos formatos como por ejemplo html.

En futuras entregas les voy a mostrar algunas opciones muy utiles.

No dejen de compartir!

Hasta la próxima!

Eduardo

 

 

Deja una respuesta