cx_Oracle est un module d'accès SQL de Python à Oracle Database. Créé par Oracle. Il est conçu pour être aussi conforme que possible avec PEP 249 (Python Database API Specification v2.0). La version de cx_Oracle au 1er juin 2020 (initialement publiée dans cet article) est la 7.3. Il fonctionne sur Python 2.7 ou version ultérieure, ou Python 3.5 ou version ultérieure. La licence est une licence BSD. La partie d'accès à la base de données utilise ODPI-C (Oracle Database Programming Interface for C), une bibliothèque d'accès à la base de données Oracle pour le langage OSS C fournie par Oracle, au lieu de Pro * C. cx_Oracle a les fonctions principales suivantes.
Tous sont basés en anglais.
Un client Oracle est requis pour utiliser cx_Oracle. Il n'y a aucun problème avec Instant Client. Il n'y a pas d'équivalent à Thin Driver en Java. La version d'Oracle Client est compatible avec les versions 11.2 et supérieures. Du côté du serveur de base de données Oracle de destination de la connexion, la version prise en charge par le client Oracle que vous utilisez sera disponible. Avant de tester une application qui utilise cx_Oracle, assurez-vous que vous pouvez accéder à la base de données Oracle à partir de la machine sur laquelle vous souhaitez installer cx_Oracle, par exemple en utilisant SQL * Plus ou SQL Developer.
Il peut être installé à l'aide d'un gestionnaire de paquets comme pip ou conda. Voici un exemple d'installation avec pip.
pip install cx_Oracle
sample01a.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import cx_Oracle # (1)
USERID = "admin"
PASSWORD = "FooBar"
DESTINATION = "atp1_low"
SQL = "select 12345 from dual"
connection = cx_Oracle.connect(USERID, PASSWORD, DESTINATION) # (2)
cursor = connection.cursor() # (3)
cursor.execute(SQL) # (4)
for row in cursor: # (5)
print(row[0]) # (6)
connection.close() # (7)
Ce qui suit est un niveau inutile pour ceux qui ont créé des applications qui accèdent à Oracle Database dans d'autres langues, mais chaque ligne est brièvement expliquée en fonction du numéro de commentaire dans la source.
Recommended Posts