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.