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 donne aux entreprises les moyens de gérer et de gouverner en toute confiance les données à l'échelle. Les solutions d'intelligence des données d'Actian aident à rationaliser les environnements de données complexes et à accélérer la fourniture de données prêtes pour l'IA. Conçues pour être flexibles, les solutions d'Actian s'intègrent de manière transparente et fonctionnent de manière fiable dans les environnements sur site, cloud et hybrides. Pour en savoir plus sur Actian, la division données de HCLSoftware, rendez-vous sur actian.com.