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.



Kite - Smart Copilot For Programmers

The best products and ideas always spring out of identifying and addressing a general and widespread need. In the case of programming it's the time required when coding for searching the Internet for  [ ... ]

Android Studio Moves Toward Java 8

Android Studio is making progress to supporting Java 8 after the ambitious, perhaps too ambitious Jack & Jill project was shelved. What does all this mean?

More News




blog comments powered by Disqus

Last Updated ( Wednesday, 15 March 2017 )

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