Python cx_Oracle Adds Direct Binding
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, FacebookGoogle+ or Linkedin.



Canada's RAND Immigration Lottery Not Random!

Well of course it isn't, but that doesn't stop people who should no better from stirring up a mock disgust and alarm. Oh dear we programmers are at it again, cutting corners with our job lot of not-qu [ ... ]

IBM Debater Argues Like A Human - But How?

IBM is the outlier when it comes to AI. Most other companies are taking the neural network path, but IBM is very much into old-fashioned engineering. The new system has neural networks involved, but t [ ... ]

More News






or email your comment to:

Last Updated ( Wednesday, 15 March 2017 )

RSS feed of news items only
I Programmer News
Copyright © 2018 All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.