Acceso a una base de datos PSQL Zen con Python y ODBC
Corporación Actian
4 de enero de 2018

Como programador de la vieja escuela de hace unas décadas, decidí ver lo difícil que sería acceder a una base de datos Zen (antes conocida como PSQL) desde mis recién adquiridos conocimientos de Python. En caso de que no estés familiarizado con ella, Zen es el software de base de datos híbrido NoSQL y SQL de Embarqué zero-admin, nano-footprint de Actian, y Python es un lenguaje de programación de alto nivel utilizado con frecuencia en ciencia de datos y aplicaciones de Internet (entre muchas otras cosas).
Ya armado con algunos conocimientos de Actian Zen, todo lo que tuve que hacer fue completar un curso EdX de introducción a la programación en Python, y luego descargar e instalar Python 3.6 junto con la biblioteca pyodbc correspondiente.
El sencillo programa para conectar Zen con Python que se muestra a continuación ¡tiene unas 30 líneas de código! Se conecta a la base de datos "demodata", asigna un cursor y ejecuta una serie de sentencias SQL para DROP TABLE, CREATE TABLE, INSERT y SELECT. ¿A que es fácil? Incluso me las arreglé para pedir la entrada y utilizar un parámetro en el INSERT para el valor proporcionado por el usuario. Aquí está el código:
import os import sys import pyodbc def main(): conn_str = 'Driver={Pervasive ODBC Interface};server=localhost;DBQ=demodata' db = pyodbc.connect(conn_str) c = db.cursor() c.execute("DROP TABLE IF EXISTS test_table") c.execute("CREATE TABLE test_table (id identity, name char(32), create_date date)") isql_dml = """INSERT INTO test_table VALUES (0, ?, CURRENT_DATE())""" iinserting = True while iinserting: new_name = input('Enter name to insert, Q to quit: ' ) if new_name.lower() == 'q': iinserting = False else: if new_name == '': print(' Please enter a non-empty string.') else: print(' Inserting:', new_name) c.execute(isql_dml, (new_name,)) c.commit() c.execute("SELECT COUNT(*) FROM test_table") row = c.fetchone() if row: print('You inserted', row, 'name(s)') return 0 if __name__ == "__main__": sys.exit(main())
Es fácil ver lo sencillo pero potente que es este acceso, y lo fácilmente que podría utilizarse para pruebas y escenarios de atención al cliente.
Descargue hoy la versión de prueba de Actian Zen y escriba su primera aplicación Python ODBC. Versiones de prueba de 30 días están disponibles aquí. Si tiene alguna pregunta sobre Zen u otros productos Actian, no dude en preguntar en nuestros foros de la comunidad.
Suscríbase al blog de Actian
Suscríbase al blog de Actian para recibir información sobre datos directamente en su correo electrónico.
- Manténgase informado: reciba lo último en análisis de datos directamente en su bandeja de entrada.
- No se pierda ni una publicación: recibirá actualizaciones automáticas por correo electrónico que le avisarán cuando se publiquen nuevas publicaciones.
- Todo depende de usted: cambie sus preferencias de entrega para adaptarlas a sus necesidades.