[DB-SIG] cx_Oracle 4.3

Anthony Tuininga anthony.tuininga at gmail.com
Thu Mar 8 06:21:46 CET 2007

What is cx_Oracle?

cx_Oracle is a Python extension module that allows access to Oracle and
conforms to the Python database API 2.0 specifications with a few

Where do I get it?


What's new?

1) Added preliminary support for fetching Oracle objects (SQL types)
as requested by Kristof Beyls (who kindly provided an initial patch).
Additional work needs to be done to support binding and updating
objects but the basic structure is now in place.

2) Added connection.maxBytesPerCharacter which indicates the maximum
number of bytes each character can use; use this value to also
determine the size of local buffers in order to handle discrepancies
between the client character set and the server character set. Thanks
to Andreas Mock for providing the initial patch and working with me to
resolve this issue.

3) Added support for querying native floats in Oracle 10g as requested
by Danny Boxhoorn.

4) Add support for temporary LOB variables created via PL/SQL instead
of only directly by cx_Oracle; thanks to Henning von Bargen for
discovering this problem.

5) Added support for specifying variable types using the builtin types
int, float, str and datetime.date which allows for finer control of
what type of Python object is returned from cursor.callfunc() for

6) Added support for passing booleans to callproc() and callfunc() as
requested by Anana Aiyer.

7) Fixed support for 64-bit environments in Python 2.5.

8) Thanks to Filip Ballegeer and a number of his co-workers, an
intermittent crash was tracked down; specifically, if a connection is
closed, then the call to OCIStmtRelease() will free memory twice.
Preventing the call when the connection is closed solves the problem.

Anthony Tuininga

More information about the DB-SIG mailing list