GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo conectarse a SQL Server desde Linux

En un mundo perfecto de administrador de bases de datos, todo sería igual. Todos los servidores serían idénticos y ejecutarían las mismas cargas de trabajo. Son más fáciles de administrar. Pero ese no es el caso. Hoy en día, los administradores de sistemas deben administrar diferentes entornos. Esto no podría ser más evidente en la necesidad de realizar consultas SQL desde una máquina Linux. ¡En esta publicación, aprenderá cómo conectarse a SQL Server desde Linux!

¿No eres un lector? ¡Mira este video tutorial relacionado! ¿No ve el video? Asegúrate de que tu bloqueador de anuncios esté deshabilitado.

Una forma de conectarse a SQL Server desde Linux es usar un módulo de Python. Pero antes de llegar tan lejos, primero cubramos con qué entorno estoy trabajando.

En este artículo, demostraré esta tarea con Ubuntu 16.04 y me conectaré a SQL Server 2012 R2. Pero, la misma técnica debería aplicarse también a otras versiones de Linux y SQL Server. ¡Los administradores de bases de datos se regocijan!

Requisitos

Para comenzar, necesitará instalar algunos requisitos previos. Primero, dado que se conectará a una instancia de SQL Server desde Python, necesitará un módulo de Python. Un módulo común de Python para conectarse a SQL se llama PyODBC. Este módulo le permite consultar bases de datos SQL a través de ODBC a través de un controlador ODBC de SQL Server para Linux. Para instalar la última versión, use pip (el administrador de paquetes de Python).

> sudo pip install pyodbc

Si esto no funciona, es posible que no tenga pip instalado. Para instalar pip:

> sudo easy_install pip

A continuación, debe crear un script de Python. Voy a llamar a este sql_server.py . Para crear una secuencia de comandos de Python, primero cree un archivo en blanco.

> touch sql_server.py

Luego, utilizando el editor de su elección, agregue las siguientes líneas. El shebang seguido por la ruta al binario de Python le dice al intérprete que se trata de un script de Python. El import Luego, la declaración le permite llamar a los métodos de la biblioteca dentro del módulo pyodbc. Guarde este script.

!/usr/bin/python
import pyodbc

Una vez que haya creado el script de Python, ejecute el script:

> python sql_server.py

Si esto se ejecuta sin errores, el módulo pyodbc se instaló correctamente.

A continuación, agregue el código para ejecutar una consulta de prueba. Para ello, cree una cadena ODBC.

Para obtener más información sobre la elaboración de cadenas ODBC, este es un buen recurso.

La cadena ODBC es exigente con lo que se incluye. Tomó algún tiempo descubrir cómo hacer que esto funcione, pero así es como se ve el mío. A continuación, paso la cadena ODBC como argumento para el connect() método que se incluye con pyodbc módulo.

conn = pyodbc.connect('DRIVER={FreeTDS};SERVER=server.domain.local;PORT=1433;UID=DOMAIN\user;PWD=mypassword;DATABASE=mydatabasename;UseNTLMv2=yes;TDS_Version=8.0;Trusted_Domain=domain.local;')

La mayor parte de la cadena ODBC es evidente, pero un hecho importante es la barra invertida doble para el UID . Siempre asegúrese de haber evitado cualquier barra invertida en la cadena ODBC. Además, algunas de las opciones que estoy usando son opcionales.

Además, puede usar el nombre de host para SERVER como he hecho anteriormente o puede usar la dirección IP de SQL Server.

Siéntase libre de agregarlos o eliminarlos como mejor le parezca para que coincidan con su servidor SQL.

A continuación, debe crear un objeto de cursor que le permita pasar una declaración T-SQL. Esto se hace con el cursor() método.

cursor = conn.cursor()

Ahora tienes un objeto con un execute() método que se puede usar para pasar cualquier declaración T-SQL que nos gustaría como se muestra a continuación. Esto crea un rows variable que contiene el conjunto de datos resultante.

cursor.execute("SELECT * FROM <tablename>")
rows = cursor.fetchall()

Ahora está en el punto en el que deberá decidir qué hacer con el conjunto de datos. Puede enviar los resultados a un archivo CSV, colocar los resultados en otra base de datos o escribir el contenido en la consola.

A continuación, estoy imprimiendo los resultados en la consola si el conjunto de datos está completo.

if rows:
    print(rows)

Puede ver que si el conjunto de datos se imprime en la consola, el resultado no es demasiado bonito. En este punto, depende de usted decidir cómo formatear o analizar los datos de la base de datos. ¡La parte difícil ha terminado!

Ahora terminará con un script que se ve así:

!/usr/bin/python
import pyodbc

conn = pyodbc.connect('DRIVER={FreeTDS};SERVER=server.domain.local;PORT=1433;UID=DOMAIN\user;PWD=mypassword;DATABASE=mydatabasename;UseNTLMv2=yes;TDS_Version=8.0;Trusted_Domain=domain.local;')

cursor.execute("SELECT * FROM <tablename>")
rows = cursor.fetchall()

if rows:
    print(rows)

Resumen

En esta publicación de blog, aprendió a usar pyodbc Módulo de Python en Linux para conectarse a una fuente de datos de SQL Server. La parte más difícil para mí fue descifrar la cadena ODBC, pero una vez que lo hayas cubierto, deberías navegar sin problemas.

Una vez que se conecta desde Linux, ¿por qué no ve si puede aumentar el rendimiento usando contadores de rendimiento?


Linux
  1. Cómo usar SSH en Linux desde Android

  2. Cómo descargar archivos del servidor SFTP usando el script de python

  3. Conéctese a Linux desde Mac OS X usando Terminal

  4. Conéctese a Linux desde Windows usando PuTTY

  5. Cómo SCP desde un servidor Linux a un cliente Windows

Cómo conectarse a un escritorio remoto desde Linux

Cómo instalar SQL Server en Linux

Cómo instalar SQL Server en Windows 10

Cómo SSH en su servidor Linux desde Windows

Cómo usar OpenSSH para conectarse a su servidor Linux

Cómo conectarse a WiFi desde la terminal en Ubuntu Linux