[PYTHON] [Introduction à cx_Oracle] Présentation de cx_Oracle

Qu'est-ce que cx_Oracle

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.

sources de base de cx_Oracle

Tous sont basés en anglais.

Installation de cx_Oracle

Préparation

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.

Installation

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

Exemple d'application

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.

  1. Vous devez importer cx_Oracle.
  2. Connectez-vous à la base de données et établissez une session.
  3. Créez un objet curseur pour gérer les instructions SQL.
  4. Exécutez l'instruction SQL.
  5. Puisque nous émettons une instruction SELECT cette fois, nous extrayons le contenu de l'ensemble de résultats.
  6. L'enregistrement est tapé en arrière.
  7. Déconnectez la session.

Recommended Posts

[Introduction à cx_Oracle] Présentation de cx_Oracle
[Introduction à cx_Oracle] (16ème) Gestion des types LOB
[Cx_Oracle Primer] (Partie 3) Bases de la navigation dans les tableaux
[Introduction à cx_Oracle] (5e) Gestion des données japonaises
[Introduction à cx_Oracle] (Partie 7) Gestion des variables de liaison
[Introduction à cx_Oracle] (8e) version de cx_Oracle 8.0
Série: Introduction à cx_Oracle Contents
[Introduction à cx_Oracle] (Partie 11) Bases de l'exécution PL / SQL
[Introduction à cx_Oracle] (Partie 4) Récupération et défilement du jeu de résultats
Introduction à Scrapy (1)
Introduction à Scrapy (3)
Premiers pas avec Supervisor
Introduction de scikit-Optimize
Introduction à Tkinter 1: Introduction
Introduction de PyGMT
Introduction à PyQt
Introduction à Scrapy (2)
[Introduction à cx_Oracle] (12e) Gestion des exceptions DB
[Introduction à cx_Oracle] (17e) Gestion du type de date
[Linux] Introduction à Linux
Introduction à Scrapy (4)
Introduction à discord.py (2)
[Introduction à cx_Oracle] (Partie 2) Principes de base de la connexion et de la déconnexion à Oracle Database
Introduction à Scapy ① (De l'installation à l'exécution de Scapy)
[Introduction au Data Scientist] Bases de Python ♬
Introduction de Python
[Introduction à Udemy Python3 + Application] 26. Copie du dictionnaire
[Introduction à Udemy Python3 + Application] 19. Copie de la liste
De l'introduction de pyethapp à l'exécution du contrat
[Introduction à Python] Utilisation de base des expressions lambda
Introduction à Lightning Pytorch
Introduction de ferenOS 1 (installation)
Premiers pas avec le Web Scraping
Introduction aux baies non paramétriques
Introduction à EV3 / MicroPython
Introduction du wrapper Virtualenv
Introduction au langage Python
Introduction à la reconnaissance d'image TensorFlow
Introduction à OpenCV (python) - (2)
Introduction à PyQt4 Partie 1
Introduction à l'injection de dépendances
Introduction à Private Chainer
Introduction à l'apprentissage automatique
[Chapitre 5] Introduction à Python avec 100 coups de traitement du langage
[Chapitre 6] Introduction à scicit-learn avec 100 coups de traitement du langage
[Introduction à Udemy Python3 + Application] 53. Dictionnaire des arguments de mots-clés
[Chapitre 3] Introduction à Python avec 100 coups de traitement du langage
[Chapitre 2] Introduction à Python avec 100 coups de traitement du langage
[Introduction à Python] Utilisation basique de la bibliothèque matplotlib
[Introduction à Udemy Python3 + Application] 52. Tapple d'arguments positionnels
[Introduction à cx_Oracle] (13e) Connexion utilisant le pool de connexions (côté client)
[Chapitre 4] Introduction à Python avec 100 coups de traitement du langage
AOJ Introduction à la programmation Sujet 1, Sujet 2, Sujet 3, Sujet 4
Introduction au module de papier électronique
Introduction à l'algorithme de recherche de dictionnaire
[Introduction à cx_Oracle] (Partie 6) Mappage des types de données DB et Python
Introduction à la méthode Monte Carlo