cx_Oracle is an open source package that covers the Python Database API specification with many additions to support Oracle advanced features.
Adds support for creating temporary CLOBs, BLOBs or NCLOBs via a new method Connection.createlob().
Adds support for binding a LOB value directly to a cursor.
Adds support for closing the connection when reaching the end of a 'with' code block controlled by the connection as a context manager. See cx_Oracle.__future__ for more information.
Was internally updated to the newest ODPI-C data access layer, which brings numerous stability fixes and code improvements including:
Open statements and LOBs are tracked and automatically closed when the related connection is closed; this eliminates the need for users of cx_Oracle to track them, and removes the error "DPI-1054: connection cannot be closed when open statements or LOBs exist".
Errors during implicit rollback at connection close are ignored - but if an error does occur, ensure the connection is dropped from the connection pool. This reduces app errors in cases like where a DBA has killed a session.
Avoids an unnecessary round trip to the database when a connection is released back to the pool by preventing a rollback from being called when no transaction is in progress.
There was also an internal code restructure to simplify maintenance and consolidate transformations to/from Python objects.
See the Release Notes for all the fixes.
To upgrade to cx_Oracle 6.2 most users will be able to run:
python -m pip install cx_Oracle --upgrade
Spread the word!
Home page: oracle.github.io/python-cx_Oracle/index.html
Installation instructions: cx-oracle.readthedocs.io/en/latest/installation.html
Release Notes: cx-oracle.readthedocs.io/en/latest/releasenotes.html
Source Code Repository: github.com/oracle/python-cx_Oracle