[PYTHON] [Introduction à cx_Oracle] (8e) version de cx_Oracle 8.0

Cx_Oracle a été mis à niveau de la version 7.3 à la version 8.0 le 26 juin 2020 (heure du Japon). Vous trouverez ci-dessous une brève description des nouvelles fonctionnalités et des modifications apportées à la version 8.0. Il n'y a qu'une mise à jour majeure de la version, et elle contient des changements majeurs (et je pense). Ci-dessous, les numéros correspondent aux [Notes de version] de cx_Oracle (https://cx-oracle.readthedocs.io/en/latest/release_notes.html#version-8-0-june-2020).

1. Fin du support de Python 2

La version Python prise en charge est 3.5 ou ultérieure. Si vous souhaitez l'utiliser avec Python2, vous devez utiliser la version 7.3.

2. Changement de version d'ODPI-C

cx_Oracle est créé à l'aide du pilote d'accès Oracle en langage C d'OSS appelé ODPI-C. La version 8.0 est basée sur ODPI-C 4.0.1.

3. Gestion du changement de type

Il a été considérablement revu comme suit.

4. Ajoutez cx_Oracle.init_oracle_client ()

Une fonction cx_Oracle.init_oracle_client () a été ajoutée pour initialiser la bibliothèque Oracle Client.

5. Changez le codage par défaut

En 7.3 c'était None, mais en 8.0 il est devenu UTF-8. La spécification du jeu de caractères de la variable d'environnement NLS_LANG est ignorée.

6. Ajouter une méthode à la classe Soda Document

Ajout des méthodes save (), saveAndGet () et truncate () à l'objet SodaCollection. Oracle Client 20 ou version ultérieure est requis pour profiter de ces fonctionnalités.

7. Ajouter SodaOperation.fetchArraySize ()

Ajout de SodaOperation.fetchArraySize () pour définir le nombre de récupérations de documents SODA. Oracle Client 19.5 ou version ultérieure est requis pour profiter de cette fonctionnalité.

8. Ajoutez Cursor.prefetchrows

Ajout de Cursor.prefetchrows pour pré-lire les ensembles de résultats.

9. Éviter les allers-retours associés à la première exécution de Connection.version

Nous ajoutons un nouveau mode pour éviter l'aller-retour qui accompagne la première exécution de Connection.version pour obtenir le numéro de version de la base de données. Oracle Client 20 ou version ultérieure est requis pour profiter de cette fonctionnalité.

10. Prend en charge PFILE

Ajout de la prise en charge du démarrage d'une base de données à l'aide de PFILE. Jusqu'au 7.3, seul SPFILE était pris en charge.

11. Correction d'un dépassement de tampon dans Cursor.getbatcherrors ()

Correction d'un problème où Cursor.getbatcherrors () provoquait un dépassement de mémoire tampon si le décalage dépassait 65536.

12. Modifiez le comportement de Cursor.lastrowid

Modifié pour qu'aucune erreur ne se produise lorsque Cursor.lastrowid est exécuté après l'exécution de l'instruction INSERT ALL.

13. Accepter la demande d'extraction d'Alex Henrie

Il incorpore principalement 6 pull requests pour des améliorations de code (comme l'amélioration du codage redondant).

14. comportement de l'objet Python lié à une variable booléenne

Les objets Python liés à des variables booléennes sont désormais convertis en True / False selon qu'ils sont considérés comme True ou False dans l'instruction if de Python. Auparavant, seul True était converti en True, et les autres étaient convertis en False.

15. Améliorations autres que le code du corps principal

Nous améliorons la documentation, les échantillons et les tests.

Recommended Posts

[Introduction à cx_Oracle] (8e) version de cx_Oracle 8.0
[Introduction à cx_Oracle] (12e) Gestion des exceptions DB
[Introduction à cx_Oracle] (17e) Gestion du type de date
[Introduction à cx_Oracle] (16ème) Gestion des types LOB
[Introduction à cx_Oracle] (5e) Gestion des données japonaises
[Introduction à cx_Oracle] Présentation de cx_Oracle
Série: Introduction à cx_Oracle Contents
[Introduction à cx_Oracle] (10e) Instruction Update DML et DDL / DCL
Introduction à MQTT (Introduction)
Introduction à Scrapy (1)
Introduction à Scrapy (3)
Premiers pas avec Supervisor
Introduction à Scrapy (2)
[Linux] Introduction à Linux
[Cx_Oracle Primer] (Partie 3) Bases de la navigation dans les tableaux
[Introduction à cx_Oracle] (Partie 7) Gestion des variables de liaison
Introduction à Lightning Pytorch
Premiers pas avec le Web Scraping
Introduction à EV3 / MicroPython
Introduction au langage Python
Introduction à la reconnaissance d'image TensorFlow
Introduction à OpenCV (python) - (2)
Introduction à PyQt4 Partie 1
[Introduction à cx_Oracle] (15e) Création d'un jeu de résultats dans un format autre que tapple
Introduction à l'injection de dépendances
Introduction à Private Chainer
Introduction à l'apprentissage automatique
[Introduction à cx_Oracle] (Partie 11) Bases de l'exécution PL / SQL
[Introduction à cx_Oracle] (13e) Connexion utilisant le pool de connexions (côté client)
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
[Mémorandum d'apprentissage] Introduction à vim
Introduction à PyTorch (1) Différenciation automatique
opencv-python Introduction au traitement d'image
Introduction à Python Django (2) Win
Introduction à l'écriture de Cython [Notes]
Introduction à Private TensorFlow
Une introduction à l'apprentissage automatique
Une super introduction à Linux
AOJ Introduction à la programmation Sujet n ° 7, Sujet n ° 8
[Introduction à cx_Oracle] (Partie 4) Récupération et défilement du jeu de résultats
Introduction à la détection des anomalies 1 principes de base
Introduction à RDB avec sqlalchemy Ⅰ
[Introduction au système] Retracement de Fibonacci ♬
Introduction à l'optimisation non linéaire (I)
Introduction à la communication série [Python]
AOJ Introduction à la programmation Sujet n ° 5, Sujet n ° 6
Introduction au Deep Learning ~ Règles d'apprentissage ~
[Introduction à Python] <liste> [modifier le 22/02/2020]
Introduction à Python (version Python APG4b)
Une introduction à la programmation Python
Introduction à discord.py (3) Utilisation de la voix
Introduction à l'optimisation bayésienne
Apprentissage par renforcement profond 1 Introduction au renforcement de l'apprentissage