Python cx_Oracle Adds Direct Binding
Written by Kay Ewbank   
Wednesday, 15 March 2017

Oracle has released a new version of the Python interface for Oracle Database. The new version supports Python 3.6 and Oracle client 12.2.

Some of the changes to this version are specific to Oracle Database 12c features, but the majority of improvements are more general. cx_Oracle 5.3 works with Python version 2.7, and with versions 3.4 and higher. The release is also the point at which cx_Oracle's source code repository and home page move to GitHub.

Much of the work on the updated version has been carried out by Anthony Tuininga, who developed the original cx_Oracle while working at Computronix. He has continued working on the interface since joining Oracle.

Alongside the support for Python 3.6 and Oracle client 12.2, the new version adds support for direct binding to SQL objects, which enables you to carry out actions such as binding Python objects to Oracle Spatial SDO objects. You can also now bind PL/SQL records and collections.

Support for scrollable cursors has been added so you can move through your query results both forwards and backwards, Advanced queuing has also been added, so you can specifically add and remove objects to queues. The suggestion is that this means you can use database notifications to build micro-service applications.

Another addition is the ability to fetch PL/SQL implicit results, making it easier to return query results from PL/SQL.

One nice addition is Transaction Guard support. This lets you verify the status of transactions after unplanned server outages, so avoiding problems caused by transactions that were part way through but failed to complete.

A final improvement worth mentioning is support for statement caching, which lets you reduce the costs of frequently executed statements. This is now available with all connections.


Alongside cx_Oracle 5.3, Tuininga has been working on ODPI-C, an open source library of C code that simplifies and standardizes the use of common Oracle Call Interface (OCI) features, such as those used by cx_Oracle. This was recently released on Github, and the master branch of cx_Oracle code has been updated to use it.


More Information

Python_cx On Github

Python_cx Home Page

Related Articles

Python 3 Gains Support and Enthusiasm

 Python 3.5 Released

Oracle Is DBMS Of The Year

Oracle Launches Elastic Cloud


To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.



PyTorch 1.8 Improves FFT Support

PyTorch has been updated with improved support for FFTs, better distributed model training, new APIs, library updates, and support for ways to improve and scale your code for performance at both infer [ ... ]

DataGrip 2021 Adds Azure MFA support

JetBrains DataGrip has been updated with support for Azure MFA and the ability to edit data in MongoDB via its UI. This is the first of DataGrip's regular updates in 2021, hence the version number of  [ ... ]

More News






or email your comment to:

Last Updated ( Wednesday, 15 March 2017 )