[DB-SIG] cx_Oracle 3.1

Anthony Tuininga anthony at computronix.com
Sat Aug 23 12:35:25 EDT 2003

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?

(it may be a few days before the second site is updated)

What's new?
 1) Added support for connecting with SYSDBA and SYSOPER access which is
     needed for connecting as sys in Oracle 9i.
 2) Only check the dictionary size if the variable is not NULL;
     otherwise, an error takes place which is not caught or cleared;
     eliminates a spurious "Objects/dictobject.c:1258: bad argument to
     internal function" in Python 2.3.
 3) Add support for session pooling. This is only support for Oracle 9i
     but is amazingly fast -- about 100 times faster than connecting.
 4) Add support for statement caching when pooling sessions, this
     reduces the parse time considerably. Unfortunately, the Oracle OCI
     does not allow this to be easily turned on for normal sessions.
 5) Add method trim() on CLOB and BLOB variables for trimming the size.
 6) Add support for externally identified users; to use this feature
     leave the username and password fields empty when connecting.
 7) Add method cancel() on connection objects to cancel long running
     queries. Note that this only works on non-Windows platforms.
 8) Add method callfunc() on cursor objects to allow calling a function
     without using an anonymous PL/SQL block.
 9) Added documentation on objects that were not documented. At this
     point all objects, methods and constants in cx_Oracle have been
10) Added support for timestamp columns in Oracle 9i.
11) Added module level method makedsn() which creates a data source name
     given the host, port and SID.
12) Added constant "buildtime" which is the time when the module was
     built as an additional means of identifying the build that is in
13) Binding a value that is incompatible to the previous value that was
     bound (data types do not match or array size is larger) will now
     result in a new bind taking place. This is more consistent with the
     DB API although it does imply a performance penalty when used.

Anthony Tuininga
anthony at computronix.com
Distinctive Software. Real People.
Suite 200, 10216 - 124 Street NW
Edmonton, AB, Canada  T5N 4A3
Phone:	(780) 454-3700
Fax:	(780) 454-3838

More information about the DB-SIG mailing list