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 permet aux entreprises de gérer et de gouverner en toute confiance les données à l'échelle, en rationalisant les environnements de données complexes et en accélérant la fourniture de données prêtes pour l'IA. L'approche d'Actian en matière d'intelligence des données combine la découverte de données, la gestion des métadonnées et la gouvernance fédérée pour permettre une utilisation plus intelligente des données et améliorer la conformité. Grâce à des capacités intuitives de libre-service , les utilisateurs professionnels et techniques peuvent trouver, comprendre et faire confiance aux actifs de données dans les environnements cloud, hybrides et sur site . Actian fournit des solutions flexibles de gestion des données à 42 millions d'utilisateurs au sein de sociétés du Fortune 100 et d'autres entreprises dans le monde entier, tout en maintenant un taux de satisfaction de la clientèle de 95 %.