cx_Oracle 4.1 beta1

Anthony Tuininga anthony at
Wed Sep 1 18:27:56 CEST 2004

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 support for Python 2.4. In Python 2.4, the datetime module is
     used for both binding and fetching of date and timestamp data. In
     Python 2.3, objects from the datetime module can be bound but the 
This is

     internal datetime objects will be returned from queries.
  2) Added pickling support for LOB and datetime data.
  3) Fully qualified the table name that was missing in an alter table
     statement in the setup test script as noted by Marc Gehling.
  4) Added a section allowing for the setting of the RPATH linker
     directive in as requested by Iustin Pop.
  5) Added code to raise a programming error exception when an attempt is
     made to access a LOB locator variable in a subsequent fetch.
  6) The username, password and dsn (tnsentry) are stored on the
     connection object when specified, regardless of whether or not a
     standard connection takes place.
  7) Added additional module level constant called "LOB" as requested by
     Joseph Canedo.
  8) Changed exception type to IntegrityError for constraint violations
     as requested by Joseph Canedo.
  9) If scale and precision are not specified, an attempt is made to
     return a long integer as requested by Joseph Canedo.
10) Added workaround for Oracle bug which returns an invalid handle when
     the prepare call fails. Thanks to alantam at for providing the
     code that demonstrated the problem.
11) The cusor method arravar() will now accept the actual list so that
     it is not necessary to call cursor.arrayvar() followed immediately
     by var.setvalue().
12) Fixed bug where attempts to execute the statement "None" with bind
     variables would cause a segmentation fault.
13) Added support for binding by position (paramstyle = "numeric").
14) Removed memory leak created by calls to OCIParamGet() which were not
     mirrored by calls to OCIDescriptorFree(). Thanks to Mihai Ibanescu
     for pointing this out and providing a patch.
15) Added support for calling cursor.executemany() with statement None
     implying that the previously prepared statement ought to be
     executed. Thanks to Mihai Ibanescu for providing a patch.
16) Added support for rebinding variables when a subsequent call to
     cursor.executemany() uses a different number of rows. Thanks to
     Mihai Ibanescu for supplying a patch.
17) The microseconds are now displayed in datetime variables when
     nonzero similar to method used in the datetime module.
18) Added support for binary_float and binary_double columns in Oracle

Anthony Tuininga
anthony at

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 Python-announce-list mailing list