Gestion des données

Accès à une base de données PSQL Zen avec Python et ODBC

Actian Corporation

4 janvier 2018

Connecter ServiceNow aux données d'autres applications ne doit pas être difficile

En tant que programmeur de la vieille école d'il y a quelques décennies, j'ai décidé de voir s'il serait difficile d'accéder à une base de données Zen (anciennement connue sous le nom de PSQL) à partir de ma connaissance nouvellement acquise de Python. Au cas où vous ne le connaîtriez pas, Zen est le logiciel Embarqué de base de données NoSQL et SQL hybride à administration zéro et empreinte nanométrique d'Actian, et Python est un langage de programmation de haut niveau fréquemment utilisé dans la science des données et les applications Internet (parmi beaucoup d'autres choses).

Déjà armé d'une certaine connaissance d'Actian Zen, tout ce que j'avais à faire était de suivre un cours EdX d'introduction à la programmation Python , puis de télécharger et d'installer Python 3.6 ainsi que la bibliothèque pyodbc correspondante.

Le programme simple de connexion à Zen avec Python présenté ci-dessous comporte environ 30 lignes de code ! Il se connecte à la base de données "demodata", alloue un curseur et exécute une série d'instructions SQL pour DROP TABLE, CREATE TABLE, INSERT et SELECT. Comme c'est facile ! J'ai même réussi à demander une entrée et à utiliser un paramètre dans l'INSERT pour la valeur utilisateur. Voici le code :

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())

Il est facile de voir à quel point cet accès est à la fois simple et puissant, et à quel point il peut être utilisé pour des scénarios de test et d'support la clientèle.

Téléchargez la version d'évaluation d'Actian Zen dès aujourd'hui et écrivez votre première application ODBC Python ! Des versions d'essai de 30 jours sont disponibles ici. Si vous avez des questions sur Zen ou d'autres produits Actian, n'hésitez pas à les poser dans nos forums communautaires.

logo avatar actian

À propos d'Actian Corporation

Actian facilite l'accès aux données. Notre plateforme de données simplifie la façon dont les gens connectent, gèrent et analysent les données dans les environnements cloud, hybrides et sur site . Avec des décennies d'expérience dans la gestion des données et l'analyse, Actian fournit des solutions de de haute performance qui permettent aux entreprises de prendre des décisions basées sur les données. Actian est reconnu par les principaux analystes et a reçu des prix de l'industrie pour sa performance et son innovation. Nos équipes partagent des cas d'utilisation éprouvés lors de conférences (par exemple, Strata Data) et contribuent à des projets à code source ouvert. Sur le blog d'Actian, nous couvrons des sujets allant de l'ingestion de données en temps réel à l'analyse pilotée par l'IA.