[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