23. Deprecated and Desupported Features — python-oracledb 3.2.0b1 documentation (original) (raw)

The following tables contain the deprecated and desupported features of the python-oracledb API, and the replacement to be used instead, if applicable. The desupported API feature is a previous deprecation that has been removed and is no longer available in python-oracledb. The most recent deprecated and desupported features are listed first.

The previous cx_Oracle deprecation announcements remain in force for python-oracledb. The relevant functionality may be removed in a future version of python-oracledb. The cx_Oracle driver itself is obsolete and should not be used for new development.

Table 23.1 Deprecated in python-oracledb 3.0

Name Comments
Parameter pool of oracledb.connect() and oracledb.connect_async() Use ConnectionPool.acquire(), or make use of theconnection pool cache instead

Table 23.2 Desupported in python-oracledb 2.0

Name Comments
oracledb.__future__.old_json_col_as_obj VARCHAR2 and LOB columns created with the IS JSON check constraint are now always fetched as JSON. Use an output type handler if the old behavior is required.
Parameters encoding and nencoding of oracledb.connect()and oracledb.create_pool(), and the related attributes on the objects created The driver encodings are always UTF-8. Remove uses of encoding andnencoding from your code.
Parameter threaded of oracledb.connect() andoracledb.create_pool() Threading is always used. Remove uses of threaded from your code.
Parameter waitTimeout of oracledb.create_pool() andoracledb.SessionPool() Replace with parameter wait_timeout
Parameter maxLifetimeSession of oracledb.create_pool() andoracledb.SessionPool() Replace with parameter max_lifetime_session
Parameter sessionCallback of oracledb.create_pool() andoracledb.SessionPool() Replace with parameter session_callback
Parameter maxSessionsPerShard of oracledb.create_pool() andoracledb.SessionPool() Replace with parameter max_sessions_per_shard
Attribute maxBytesPerCharacter of the Connection object The driver encodings are always UTF-8 so this attribute can be replaced by the constant value 4
Connection.tnsentry Replace with Connection.dsn
SessionPool.tnsentry Replace with ConnectionPool.dsn

Table 23.3 Deprecated in python-oracledb 2.0

Name Comments
Calling Variable.setvalue() with a string value when the variable type is one of oracledb.DB_TYPE_BLOB,oracledb.DB_TYPE_CLOB or oracledb.DB_TYPE_NCLOB. Call Connection.createlob() with the value instead and pass the result to Variable.setvalue().
Setting an attribute of type oracledb.DB_TYPE_BLOB,oracledb.DB_TYPE_CLOB or oracledb.DB_TYPE_NCLOB on a database object to a string value. Call Connection.createlob() with the value instead and set the attribute with the result.

Table 23.4 Deprecated in python-oracledb 1.4

Name Comments
Output type handler with argumentshandler(cursor, name, default_type, length, precision, scale) Replace with handler(cursor, metadata). SeeChanging Fetched Data Types with Output Type Handlers.

Table 23.5 Deprecated in python-oracledb 1.0

Name Comments
SessionPool class and use of cx_Oracle.SessionPool() Replace by the equivalent ConnectionPool Class. Use the new method oracledb.create_pool() to create connection pools.
Connection.begin() Replace by the new Two-Phase Commits (TPC) functionality.
Connection.prepare() Replace by the new Two-Phase Commits (TPC) functionality.
Parameters encoding and nencoding of the oracledb.connect(), oracledb.create_pool() and oracledb.SessionPool() methods The encodings in use are always UTF-8.
Parameter threaded of the oracledb.connect() method This was used to allow the Oracle Client libraries to support threaded applications. This value is ignored in python-oracledb because the threaded OCI is always enabled in the Thick mode, and the option is not relevant to the Thin mode. The equivalent parameter was already deprecated for cx_Oracle.SessionPool() in cx_Oracle 8.2.
Attribute Connection.maxBytesPerCharacter of the Connection object This was previously deprecated. In python-oracledb 1.0 it will return a constant value of 4 since encodings are always UTF-8.
Size argument, numRows of the Cursor.fetchmany() method Rename the parameter to size.
cx_Oracle.makedsn() Pass the connection string components as connection creation, or pool creation, parameters. Or use a ConnectParams Class object.
oracledb.Connection() This method is no longer recommended for creating connections. Use the equivalent function oracledb.connect() instead.
Attribute Cursor.bindarraysize of the Cursor object Remove this attribute since it is no longer needed.
Constant ATTR_PURITY_DEFAULT Replace by oracledb.PURITY_DEFAULT.
Constant ATTR_PURITY_NEW Replace by oracledb.PURITY_NEW.
Constant ATTR_PURITY_SELF Replace by oracledb.PURITY_SELF.
Constant SPOOL_ATTRVAL_WAIT Replace by oracledb.POOL_GETMODE_WAIT.
Constant SPOOL_ATTRVAL_NOWAIT Replace by oracledb.POOL_GETMODE_NOWAIT.
Constant SPOOL_ATTRVAL_FORCEGET Replace by oracledb.POOL_GETMODE_FORCEGET.
Constant SPOOL_ATTRVAL_TIMEDWAIT Replace by oracledb.POOL_GETMODE_TIMEDWAIT.
Constant DEFAULT_AUTH Replace by oracledb.AUTH_MODE_DEFAULT.
Constant SYSASM Replace by oracledb.AUTH_MODE_SYSASM.
Constant SYSBKP Replace by oracledb.AUTH_MODE_SYSBKP.
Constant SYSDBA Replace by oracledb.AUTH_MODE_SYSDBA.
Constant SYSDGD Replace by oracledb.AUTH_MODE_SYSDGD.
Constant SYSKMT Replace by oracledb.AUTH_MODE_SYSKMT.
Constant SYSOPER Replace by oracledb.AUTH_MODE_SYSOPER.
Constant SYSRAC Replace by oracledb.AUTH_MODE_SYSRAC.
Constant PRELIM_AUTH Replace by oracledb.AUTH_MODE_PRELIM.
Constant SUBSCR_PROTO_OCI Replace by oracledb.SUBSCR_PROTO_CALLBACK.
Class name ObjectType Replace by the equivalent DbObjectType.
Class name Object Replace by the equivalent DbObject.

Table 23.6 Desupported in python-oracledb 1.0

Name Comments
Cursor.fetchraw() Use one of the other fetch methods such as Cursor.fetchmany() instead.
Cursor.executemanyprepared() Use Cursor.executemany() instead.
Previously deprecated Advanced Queuing (AQ) API Use the new AQ API instead. AQ is only available in the python-oracledb Thick mode.
Connection.deq() Replace with Queue.deqone() or Queue.deqmany()
Connection.deqoptions() Replace with Queue.deqoptions
Connection.enq() Replace with Queue.enqone() or Queue.enqmany()
Connection.enqoptions() Replace with Queue.enqoptions

Table 23.7 Deprecated in cx_Oracle 8.2

Name Comments
encoding parameter to cx_Oracle.connect() No longer needed as the use of encodings other than UTF-8 is deprecated. Encoding is handled internally between python-oracledb and Oracle Database.
nencoding parameter to cx_Oracle.connect() No longer needed as the use of encodings other than UTF-8 is deprecated.
encoding parameter to `cx_Oracle.SessionPool() No longer needed as the use of encodings other than UTF-8 is deprecated.
nencoding parameter to cx_Oracle.SessionPool() No longer needed as the use of encodings other than UTF-8 is deprecated.
Connection.maxBytesPerCharacter No longer needed as the use of encodings other than UTF-8 is deprecated. The constant value 4 can be used instead.
Positional parameters to cx_Oracle.connect() Replace with keyword parameters in order to comply with the Python database API.
Positional parameters to cx_Oracle.SessionPool() Replace with keyword parameters in order to comply with the Python database API.
threaded parameter to cx_Oracle.SessionPool() The value of this parameter is ignored. Threading is now always used.
waitTimeout parameter to cx_Oracle.SessionPool() Replace with parameter name wait_timeout
maxLifetimeSession parameter to cx_Oracle.SessionPool() Replace with parameter name max_lifetime_session
sessionCallback parameter to cx_Oracle.SessionPool() Replace with parameter name session_callback
maxSessionsPerShard parameter to cx_Oracle.SessionPool() Replace with parameter name max_sessions_per_shard
SessionPool.tnsentry Replace with ConnectionPool.dsn
payloadType parameter to Connection.queue() Replace with parameter name payload_type if using keyword parameters.
ipAddress parameter to Connection.subscribe() Replace with parameter name ip_address
groupingClass parameter to Connection.subscribe() Replace with parameter name grouping_class
groupingValue parameter to Connection.subscribe() Replace with parameter name grouping_value
groupingType parameter to Connection.subscribe() Replace with parameter name grouping_type
clientInitiated parameter to Connection.subscribe() Replace with parameter name client_initiated
Connection.callTimeout Replace with Connection.call_timeout
Connection.tnsentry Replace with Connection.dsn
keywordParameters parameter to Cursor.callfunc() Replace with parameter name keyword_parameters
keywordParameters parameter to Cursor.callproc() Replace with parameter name keyword_parameters
encodingErrors parameter to Cursor.var() Replace with parameter name encoding_errors
Cursor.fetchraw() Replace with Cursor.fetchmany()
newSize parameter to LOB.trim() Replace with parameter name new_size
Queue.deqMany() Replace with Queue.deqmany()
Queue.deqOne() Replace with Queue.deqone()
Queue.enqMany() Replace with Queue.enqmany()
Queue.enqOne() Replace with Queue.enqone()
Queue.deqOptions Replace with Queue.deqoptions
Queue.enqOptions Replace with Queue.enqoptions
Queue.payloadType Replace with Queue.payload_type
Subscription.ipAddress Replace with Subscription.ip_address
Message.consumerName Replace with Message.consumer_name
Message.queueName Replace with Message.queue_name
Variable.actualElements Replace with Variable.actual_elements
Variable.bufferSize Replace with Variable.buffer_size
Variable.numElements Replace with Variable.num_elements

Table 23.8 Deprecated in cx_Oracle 8.0

Name Comments
cx_Oracle.BFILE Replace with oracledb.DB_TYPE_BFILE
cx_Oracle.BLOB Replace with oracledb.DB_TYPE_BLOB
cx_Oracle.BOOLEAN Replace with oracledb.DB_TYPE_BOOLEAN
cx_Oracle.CLOB Replace with oracledb.DB_TYPE_CLOB
cx_Oracle.CURSOR Replace with oracledb.DB_TYPE_CURSOR
cx_Oracle.FIXED_CHAR Replace with oracledb.DB_TYPE_CHAR
cx_Oracle.FIXED_NCHAR Replace with oracledb.DB_TYPE_NCHAR
cx_Oracle.INTERVAL Replace with oracledb.DB_TYPE_INTERVAL_DS
cx_Oracle.LONG_BINARY Replace with oracledb.DB_TYPE_LONG_RAW
cx_Oracle.LONG_STRING Replace with oracledb.DB_TYPE_LONG
cx_Oracle.NATIVE_FLOAT Replace with oracledb.DB_TYPE_BINARY_DOUBLE
cx_Oracle.NATIVE_INT Replace with oracledb.DB_TYPE_BINARY_INTEGER
cx_Oracle.NCHAR Replace with oracledb.DB_TYPE_NVARCHAR
cx_Oracle.NCLOB Replace with oracledb.DB_TYPE_NCLOB
cx_Oracle.OBJECT Replace with oracledb.DB_TYPE_OBJECT
cx_Oracle.TIMESTAMP Replace with oracledb.DB_TYPE_TIMESTAMP

Table 23.9 Deprecated in cx_Oracle 7.2

Name Comments
Connection.deq() Replace with Queue.deqone() or Queue.deqmany()
Connection.deqoptions() Replace with attribute Queue.deqoptions
Connection.enq() Replace with Queue.enqone() or Queue.enqmany()
Connection.enqoptions() Replace with attribute Queue.enqoptions

Table 23.10 Deprecated in cx_Oracle 6.4

Name Comments
Cursor.executemanyprepared() Replace with Cursor.executemany() using None for the statement argument and an integer for the parameters argument.

© Copyright 2016, 2025, Oracle and/or its affiliates. All rights reserved. Portions Copyright © 2007-2015, Anthony Tuininga. All rights reserved. Portions Copyright © 2001-2007, Computronix (Canada) Ltd., Edmonton, Alberta, Canada. All rights reserved.Last updated on Apr 07, 2025.

Built with Sphinx using atheme provided by Read the Docs.