[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
exceptions.


Where do I get it?

http://starship.python.net/crew/atuining
http://www.computronix.com/utilities.shtml
(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;
this
     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
     documented.
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
     use.
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
 
Computronix
Distinctive Software. Real People.
Suite 200, 10216 - 124 Street NW
Edmonton, AB, Canada  T5N 4A3
Phone:	(780) 454-3700
Fax:	(780) 454-3838
http://www.computronix.com




More information about the DB-SIG mailing list