Pyodbc Python comunicacion con SQL

En este tutorial nos vamos a enfocar en la parte de Python con la biblioteca Pyodbc y como es que podemos comunicarnos con SQL. En primer lugar, cabe señalar que este tutorial es una continuación del previo de SQL y sus principales instrucciones.

pyodbc

Pyodbc

Pyodbc es una biblioteca de Python que nos sirve para tener la integración de la comunicación con bases de datos de una manera sencilla. Para instalar dicha biblioteca basta con hacer uso de pip y escribir en la terminal.

pip install pyodbc

Conectándose a una base de datos

Para conectarnos a una base de datos, se realiza a través de una cadena de texto de conexión. Esto se ejecuta desde la instrucción pyodbc.connect() en donde cabe señalar que Pyodbc no cambia ni evalúa la cadena de conexión. Por experiencia, muchas de las veces que tenemos problemas puede llegar a ser por que no esta bien escrita dicha cadena.

A continuación, vamos analizando la cadena que se va a utilizar, de manera especifica.

DRIVER={ODBC Driver 17 for SQL Server};SERVER=test;DATABASE=test;UID=user;PWD=password

La cadena descrita a continuación tiene que ser definida como Sting o texto en Python. Vamos a comenzar a analizar algunas cuestiones.

Driver: Es el controlador pyodbc con el que el sistema operativo se conectará a la base de datos. Si estamos en Windows podemos usar el que esta en la instrucción. Si estamos en Linux/Raspberry Pi recomendamos usar el FreeTDS. Usualmente en Windows funciona bien el concepto de SQL Server.

Además como dato, puedes revisar los controladores o drivers instalados en tu equipo si te vas a la barra de inicio y escribes «Administrative Tools» y posteriormente le das doble clic a el archivo de ODBC Data Source Administrator y seleccionas el tab Drivers.

Server: Como su nombre lo dice, el servidor, si estamos en modo local, será localhost. Sin embargo, si el servidor esta en diferente ubicación que desde donde estamos corriendo nuestro programa será la IP del mismo o el URL.

Database: Es el nombre de la base de datos que se conecta desde pyodbc.

UID: Es el usuario. Es de vital importancia que revises que el usuario tenga los permisos para acceder a dicha base de datos.

PWD: Contraseña o password correspondiente al usuario mencionado.

Habiendo definido la cadena especifica podemos llamar la función completa en Python pyodbc de la siguiente manera:

conn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER=test;DATABASE=test;UID=user;PWD=password')

Cursores

Los cursores son objetos que se usan para ejecutar comandos o queries SQL. La función o método mas importante que tiene un cursor es la de ejecutar o execute(), la cual, como su nombre lo dice, ejecuta una instrucción en la base de datos.

La segunda función mas común en pyodbc es el cursor, es la de fetchall(), la cual lee todas las filas que cumplen con una solicitud de el query previamente enviado con un comando de ejecución.

Rows

Filas o rows es un tipo de objeto que regresa Python Pyodbc con la información obtenida de la base de datos. Se puede acceder en formato de tupple y puede tener los miembros del nombre de cada columna o por índice como se muestra a continuación.

cursor.execute(query)
row = cursor.fetchone()
print(row.album_id, row.photo_id)
print(row[0], row[1])  

Pyodbc implementacion

pyodbc

A continuación se describe el ejemplo de la implementación de pyodbc. Con lo previamente mencionado debe de quedar mas o menos claro el código. Este ejemplo manda una inserción cada 5 segundos a la base de datos. Junto con la inserción mandamos también un query de lectura.

Para la ejecución, que es el punto de comunicación directo, se hace con la instrucción execute. De tal manera, que ejecuta, como su nombre lo dice, la instrucción de la query.

Algo que no mencionamos en este tutorial de pyodbc, fue la función getInfo, la cual básicamente manda a leer el archivo .ini el cual tiene un segmento que es [DataBase] el cual con la biblioteca configParser y el método get, retorna el valor asignado al valor requerido, en este caso. Por lo tanto, hay que poner la dirección del archivo .ini y llenar los datos que apliquen para tu conexión.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *