Return the version of the client library being used as a 5-tuple. The five values are the major version, minor version, update number, patch number and port update number.
Note
This method is an extension to the DB API definition and is only available in Oracle 10g Release 2 and higher.
Constructor for creating a connection to the database. Return a Connection object (Connection Object). All arguments are optional and can be specified as keyword parameters.
The dsn (data source name) is the TNS entry (from the Oracle names server or tnsnames.ora file) or is a string like the one returned from makedsn(). If only one parameter is passed, a connect string is assumed which is to be of the format user/password@dsn, the same format accepted by Oracle applications such as SQL*Plus.
If the mode is specified, it must be one of SYSDBA or SYSOPER which are defined at the module level; otherwise it defaults to the normal mode of connecting.
If the handle is specified, it must be of type OCISvcCtx* and is only of use when embedding Python in an application (like PowerBuilder) which has already made the connection.
The pool argument is expected to be a session pool object (SessionPool Object) and the use of this argument is the equivalent of calling pool.acquire().
The threaded argument is expected to be a boolean expression which indicates whether or not Oracle should use the mode OCI_THREADED to wrap accesses to connections with a mutex. Doing so in single threaded applications imposes a performance penalty of about 10-15% which is why the default is False.
The twophase argument is expected to be a boolean expression which indicates whether or not the attributes should be set on the connection object to allow for two phase commit. The default for this value is also False because of bugs in Oracle prior to Oracle 10g.
The events argument is expected to be a boolean expression which indicates whether or not to initialize Oracle in events mode (only available in Oracle 11g and higher).
The cclass argument is expected to be a string and defines the connection class for database resident connection pooling (DRCP) in Oracle 11g and higher.
The purity argument is expected to be one of ATTR_PURITY_NEW (the session must be new without any prior session state), ATTR_PURITY_SELF (the session may have been used before) or ATTR_PURITY_DEFAULT (the default behavior which is defined by Oracle in its documentation). This argument is only relevant in Oracle 11g and higher.
The newpassword argument is expected to be a string if specified and sets the password for the logon during the connection process.
Constructor for creating a cursor. Return a new Cursor object (Cursor Object) using the connection.
Note
This method is an extension to the DB API definition.
Return a string suitable for use as the dsn for the connect() method. This string is identical to the strings that are defined by the Oracle names server or defined in the tnsnames.ora file.
Note
This method is an extension to the DB API definition.
Create a session pool (see Oracle 9i documentation for more information) and return a session pool object (SessionPool Object). This allows for very fast connections to the database and is of primary use in a server where the same connection is being made multiple times in rapid succession (a web server, for example). If the connection type is specified, all calls to acquire() will create connection objects of that type, rather than the base type defined at the module level. The threaded attribute is expected to be a boolean expression which indicates whether or not Oracle should use the mode OCI_THREADED to wrap accesses to connections with a mutex. Doing so in single threaded applications imposes a performance penalty of about 10-15% which is why the default is False.
Note
This method is an extension to the DB API definition and is only available in Oracle 9i.
String constant stating the time when the binary was built.
Note
This constant is an extension to the DB API definition.
Value to be passed to the connect() method which indicates that SYSDBA access is to be acquired. See the Oracle documentation for more details.
Note
This constant is an extension to the DB API definition.
Value to be passed to the connect() method which indicates that SYSOPER access is to be acquired. See the Oracle documentation for more details.
Note
This constant is an extension to the DB API definition.
Integer constant stating the level of thread safety that the interface supports. Currently 2, which means that threads may share the module and connections, but not cursors. Sharing means that a thread may use a resource without wrapping it using a mutex semaphore to implement resource locking.
Note that in order to make use of multiple threads in a program which intends to connect and disconnect in different threads, the threaded argument to the Connection constructor must be a true value. See the comments on the Connection constructor for more information (Module Interface).
String constant stating the version of the module. Currently ‘5.0.3‘.
Note
This attribute is an extension to the DB API definition.
Note
These constants are extensions to the DB API definition.
Note
These constants are extensions to the DB API definition.
Note
These constants are extensions to the DB API definition.
Note
These constants are extensions to the DB API definition.
Note
These constants are extensions to the DB API definition.
This type object is used to describe columns in a database that are BFILEs.
Note
This type is an extension to the DB API definition.
This type object is used to describe columns in a database that are BLOBs.
Note
This type is an extension to the DB API definition.
This type object is used to describe columns in a database that are CLOBs.
Note
This type is an extension to the DB API definition.
This type object is used to describe columns in a database that are cursors (in PL/SQL these are known as ref cursors).
Note
This type is an extension to the DB API definition.
This type object is used to describe columns in a database that are fixed length strings (in Oracle this is CHAR columns); these behave differently in Oracle than varchar2 so they are differentiated here even though the DB API does not differentiate them.
Note
This attribute is an extension to the DB API definition.
This type object is used to describe columns in a database that are fixed length unicode strings (in Oracle this is NCHAR columns); these behave differently in Oracle than nvarchar2 so they are differentiated here even though the DB API does not differentiate them.
Note
This type is an extension to the DB API definition and is only available in Python 2.x. In Python 3.x these types of columns are returned as FIXED_CHAR.
This type object is used to describe columns in a database that are of type interval day to second.
Note
This type is an extension to the DB API definition.
This type object is the Python type of BLOB and CLOB data that is returned from cursors.
Note
This type is an extension to the DB API definition.
This type object is used to describe columns in a database that are long binary (in Oracle these are LONG RAW columns).
Note
This type is an extension to the DB API definition.
This type object is used to describe columns in a database that are long strings (in Oracle these are LONG columns).
Note
This type is an extension to the DB API definition.
This type object is used to describe columns in a database that are of type binary_double or binary_float and is only available in Oracle 10g.
Note
This type is an extension to the DB API definition.
This type object is used to describe columns in a database that are NCLOBs.
Note
This type is an extension to the DB API definition.
This type object is used to describe columns in a database that are objects.
Note
This type is an extension to the DB API definition.
This type object is used to describe columns in a database that are timestamps.
Note
This attribute is an extension to the DB API definition and is only available in Oracle 9i.
This type object is used to describe columns in a database that are unicode (in Oracle this is NVARCHAR2 columns).
Note
This type is an extension to the DB API definition and is only available in Python 2.x. In Python 3.x these types of columns are returned as STRING.
Note
PEP 249 (Python Database API Specification v2.0) says the following about exception values:
[...] The values of these exceptions are not defined. They should give the user a fairly good idea of what went wrong, though. [...]
With cx_Oracle every exception object has exactly one argument in the args tuple. This argument is a cx_Oracle._Error object which has the following three read-only attributes.
This allows you to use the exceptions for example in the following way:
import sys
import cx_Oracle
connection = cx_Oracle.Connection("user/pw@tns")
cursor = connection.cursor()
try:
cursor.execute("select 1 / 0 from dual")
except cx_Oracle.DatabaseError, exc:
error, = exc.args
print >> sys.stderr, "Oracle-Error-Code:", error.code
print >> sys.stderr, "Oracle-Error-Message:", error.message