# Deprecated API

## Contents

- Interfaces
- Classes
- Fields
- Methods
- Constructors

Interfaces
oracle.jdbc.pool.OracleConnectionCacheCallback: Use Oracle Universal Connection Pool instead. Callback functionality for the Implicit Connection Cache

Classes
oracle.sql.ARRAY: Use java.sql.Array interface for declaration instead of using concrete class oracle.sql.ARRAY.
oracle.sql.ArrayDescriptor: Use factory method OracleConnection.createOracleArray to create an instance of java.sql.Array directly.
oracle.sql.BFILE: Use oracle.jdbc.OracleBfile interface for declaration instead of using concrete class oracle.sql.BFILE.
oracle.sql.BLOB: Use java.sql.Blob interface for declaration instead of using concrete class oracle.sql.BLOB.
oracle.sql.CLOB: Use java.sql.Clob interface for declaration instead of using concrete class oracle.sql.CLOB.
oracle.sql.NCLOB: Use java.sql.NClob interface for declaration instead of using concrete class oracle.sql.NCLOB.
oracle.sql.OPAQUE: Use oracle.jdbc.OracleOpaque interface for declaration instead of using concrete class oracle.sql.OPAQUE.
oracle.sql.OpaqueDescriptor: OPAQUE types cannot be created on the client side.
oracle.sql.REF: Use java.sql.Ref interface for declaration instead of using concrete class oracle.sql.REF.
oracle.sql.STRUCT: Use java.sql.Struct interface for declaration instead of using concrete class oracle.sql.STRUCT.
oracle.sql.StructDescriptor: Use factory method Connection.createStruct to create an instance of java.sql.Struct directly.

Fields
oracle.jdbc.OracleConnection.CONNECTION_PROPERTY_DEFAULT_EXECUTE_BATCH: Oracle-Style batching is desupported. Standard JDBC batch execution is recommended instead.
oracle.jdbc.OracleConnection.CONNECTION_PROPERTY_DMS_STMT_CACHING_METRICS
oracle.jdbc.OracleConnection.CONNECTION_PROPERTY_J2EE13_COMPLIANT: This property could be removed in the future and the default will be `true`. So if this property is used as workaround to turn off compliant behavior, consider changing the application.
oracle.jdbc.OracleConnection.CONNECTION_PROPERTY_STREAM_CHUNK_SIZE
oracle.jdbc.OracleConnection.CONNECTION_PROPERTY_THIN_NET_PROFILE
oracle.jdbc.OracleConnection.CONNECTION_PROPERTY_THIN_USE_JCE_API
oracle.jdbc.OracleTypes.TIMESTAMPNS: since 9.2.0. Use OracleTypes.TIMESTAMP instead.

Methods
oracle.jdbc.aq.AQEnqueueOptions.setRelativeMessageId​(byte[])
oracle.jdbc.aq.AQEnqueueOptions.setSequenceDeviation​(AQEnqueueOptions.SequenceDeviationOption)
oracle.jdbc.datasource.impl.OracleDataSource.setMaxStatements​(int)
oracle.jdbc.datasource.OraclePooledConnection.getLastAccessedTime(): The Implicit Connection Cache (ICC) has been desupported since 12.1. This method throws UnsupportedOperationException, and will be removed soon in the future.
oracle.jdbc.datasource.OraclePooledConnection.registerImplicitCacheConnectionEventListener​(ConnectionEventListener): The Implicit Connection Cache (ICC) has been desupported since 12.1. This method throws UnsupportedOperationException, and will be removed soon in the future.
oracle.jdbc.datasource.OraclePooledConnection.setLastAccessedTime​(long): The Implicit Connection Cache (ICC) has been desupported since 12.1. This method throws UnsupportedOperationException, and will be removed soon in the future.
oracle.jdbc.dcn.DatabaseChangeEvent.getRegistrationId(): Use getRegId instead.
oracle.jdbc.dcn.DatabaseChangeRegistration.getRegistrationId(): This method is deprecated in 11.2. Use `getRegId()` instead.
oracle.jdbc.dcn.RowChangeDescription.getRowOperation(): This method is deprecated in 21. Use `getRowOperations()` instead.
oracle.jdbc.dcn.RowChangeDescription.RowOperation.getRowOperation​(int): This method is deprecated in 21. Use `getRowOperations(int)` instead.

oracle.jdbc.OracleCallableStatement.getAnyDataEmbeddedObject​(int)

As of Oracle 11R1 there is full support for ANYTYPE and ANYDATA. Please use oracle.sql.ANYDATA for new code and plan on replacing any use of this method by the next major release. Note that in 11R1 this method is reimplemented using the ANYDATA support and will now also function in all the drivers, not just oci. In the previous implementation it was possible to call registerOutParameter with a sqlType of either oracle.jdbc.OracleTypes.OPAQUE or oracle.jdbc.OracleTypes.STRUCT The new implementation requires the correct type which is OPAQUE.

oracle.jdbc.OracleCallableStatement.getCustomDatum​(int, CustomDatumFactory)
oracle.jdbc.OracleCallableStatement.getOraclePlsqlIndexTable​(int): since 18.1 Use java.sql.CallableStatement.getObject(int parameterIndex) method.
oracle.jdbc.OracleCallableStatement.getPlsqlIndexTable​(int): since 18.1. Use java.sql.CallableStatement.getObject(int parameterIndex) method.
oracle.jdbc.OracleCallableStatement.registerIndexTableOutParameter​(int, int, int, int): since 18.1. Use java.sql.CallableStatement.registerOutParameter (int parameterIndex, int sqlType, String typeName).

oracle.jdbc.OracleCallableStatement.registerOutParameterBytes​(int, int, int, int)

As of Oracle 10g Release 1 all character values are measured in Java chars so this method is no longer supported. It now is the equivalent of calling registerOutParameter with the same args. Since the number of bytes is at least as large as the number of characters this will always work although it may waste memory. Use registerOutParameter with the number of Java chars instead.

oracle.jdbc.OracleCallableStatement.registerOutParameterChars​(int, int, int, int): As of Oracle 10g Release 1 all character values are measured in Java chars so this method is no longer needed. Call registerOutParameter with the same args instead.
oracle.jdbc.OracleConnection.applyConnectionAttributes​(Properties): The Implicit Connection Cache (ICC) has been desupported since 12.1. This method throws UnsupportedOperationException, and will be removed soon in the future.
oracle.jdbc.OracleConnection.archive​(int, int, String): This method will be removed in a future version.
oracle.jdbc.OracleConnection.clearAllApplicationContext​(String): This is deprecated since 12.1 in favor of the standard JDBC API setClientInfo(). It is not recommended to use this API intermingled with get/setClientInfo APIs.
oracle.jdbc.OracleConnection.close​(Properties): The Implicit Connection Cache (ICC) has been desupported since 12.1. This method throws UnsupportedOperationException, and will be removed soon in the future.
oracle.jdbc.OracleConnection.getConnectionAttributes(): The Implicit Connection Cache (ICC) has been desupported since 12.1. This method throws UnsupportedOperationException, and will be removed soon in the future.
oracle.jdbc.OracleConnection.getConnectionReleasePriority(): The Implicit Connection Cache (ICC) has been desupported since 12.1. This method throws UnsupportedOperationException, and will be removed soon in the future.
oracle.jdbc.OracleConnection.getDefaultExecuteBatch(): As of 12.1 all APIs related to oracle-style statement batching are deprecated in favor of standard JDBC batching. We recommend using the standard model going forward as it is spec compliant and provides more information and control to the application.
oracle.jdbc.OracleConnection.getEndToEndECIDSequenceNumber(): This is deprecated since 12.1 in favor of getClientInfo(). It is not recommended to use this API intermingled with get/setClientInfo APIs.
oracle.jdbc.OracleConnection.getEndToEndMetrics(): This has been deprecated since 12.1 in favor of getClientInfo(). It is not recommended to use this API intermingled with get/setClientInfo APIs.
oracle.jdbc.OracleConnection.getJavaObject​(String)
oracle.jdbc.OracleConnection.getSQLType​(Object)
oracle.jdbc.OracleConnection.getStmtCacheSize(): Use getStatementCacheSize() instead.
oracle.jdbc.OracleConnection.getUnMatchedConnectionAttributes(): The Implicit Connection Cache (ICC) has been desupported since 12.1. This method throws UnsupportedOperationException, and will be removed soon in the future.
oracle.jdbc.OracleConnection.getUsingXAFlag()
oracle.jdbc.OracleConnection.getXAErrorFlag()
oracle.jdbc.OracleConnection.oracleSetSavepoint()
oracle.jdbc.OracleConnection.pingDatabase​(int)

oracle.jdbc.OracleConnection.prepareCallWithKey​(String)

This is same as prepareCall, except if a Callable Statement with the given KEY exists in the Cache, then the statement is returned AS IT IS when it was closed and cached with this KEY. An object returned from the Cache based on Key will have its state set to "KEYED". If no such Callable Statement is found, then null is returned. Key cannot be null.

oracle.jdbc.OracleConnection.prepareStatementWithKey​(String)

This is same as prepareStatement, except if a Prepared Statement with the given KEY exists in the Cache, then the statement is returned AS IT IS when it was closed and cached with this KEY. An object returned from the Cache based on Key will have its state set to "KEYED". If no such Prepared Statement is found, a null is returned. Key cannot be null.

oracle.jdbc.OracleConnection.registerConnectionCacheCallback​(OracleConnectionCacheCallback, Object, int): The Implicit Connection Cache (ICC) has been desupported since 12.1. This method throws UnsupportedOperationException, and will be removed soon in the future.
oracle.jdbc.OracleConnection.registerSQLType​(String, Class<?>)
oracle.jdbc.OracleConnection.setApplicationContext​(String, String, String): This has been deprecated since 12.1 in favour of setClientInfo(). It is not recommended to use this API intermingled with get/setClientInfo APIs.
oracle.jdbc.OracleConnection.setConnectionReleasePriority​(int): The Implicit Connection Cache (ICC) has been desupported since 12.1. This method throws UnsupportedOperationException, and will be removed soon in the future.
oracle.jdbc.OracleConnection.setDefaultExecuteBatch​(int): As of 12.1 all APIs related to oracle-style statement batching are deprecated in favor of standard JDBC batching. We recommend using the standard model going forward as it is spec compliant and provides more information and control to the application.
oracle.jdbc.OracleConnection.setEndToEndMetrics​(String[], short): It has been deprecated since 12.1 in favor of setClientInfo(). It is not recommended to use this API intermingled with get/setClientInfo APIs.
oracle.jdbc.OracleConnection.setStmtCacheSize​(int): Use setStatementCacheSize() instead.
oracle.jdbc.OracleConnection.setUsingXAFlag​(boolean)
oracle.jdbc.OracleConnection.setXAErrorFlag​(boolean)
oracle.jdbc.OracleConnection.startup​(String, int): This method will be removed in a future version.
oracle.jdbc.OracleConnection.unregisterDatabaseChangeNotification​(int, String, int)
oracle.jdbc.OracleDatabaseMetaData.getDriverMajorVersionInfo(): -- use standard getDriverMajorVersion()
oracle.jdbc.OracleDatabaseMetaData.getDriverMinorVersionInfo(): -- use JDBC standard method getDriverMinorVersion
oracle.jdbc.OracleDatabaseMetaData.getDriverVersionInfo(): -- use standard getDriverVersion()
oracle.jdbc.OracleDatabaseMetaData.getLobPrecision()
oracle.jdbc.OracleDriver.isJDK14()
oracle.jdbc.OraclePreparedStatement.getExecuteBatch(): As of 12.1 all APIs related to oracle-style statement batching are deprecated in favor of standard JDBC batching. We recommend using the standard model going forward as it is spec compliant and provides more information and control to the application.
oracle.jdbc.OraclePreparedStatement.sendBatch(): As of 12.1 all APIs related to oracle-style statement batching are deprecated in favor of standard JDBC batching. We recommend using the standard model going forward as it is spec compliant and provides more information and control to the application.
oracle.jdbc.OraclePreparedStatement.setCursor​(int, ResultSet)
oracle.jdbc.OraclePreparedStatement.setCustomDatum​(int, CustomDatum)
oracle.jdbc.OraclePreparedStatement.setExecuteBatch​(int): As of 12.1 all APIs related to oracle-style statement batching are deprecated in favor of standard JDBC batching. We recommend using the standard model going forward as it is spec compliant and provides more information and control to the application.
oracle.jdbc.OraclePreparedStatement.setPlsqlIndexTable​(int, Object, int, int, int, int): since 18.1. Use java.sql.PreparedStatement.setObject(int parameterIndex, Object x).
oracle.jdbc.OracleResultSet.getCustomDatum​(int, CustomDatumFactory)
oracle.jdbc.OracleResultSet.updateCustomDatum​(int, CustomDatum)
oracle.jdbc.OracleStatement.creationState()
oracle.jdbc.OracleStatement.defineColumnType​(int, int, int, short)
oracle.jdbc.OracleStatement.defineColumnTypeBytes​(int, int, int)
oracle.jdbc.OracleStatement.defineColumnTypeChars​(int, int, int)
oracle.jdbc.pool.OracleConnectionCacheCallback.handleAbandonedConnection​(OracleConnection, Object): Use Oracle Universal Connection Pool instead.
oracle.jdbc.pool.OracleConnectionCacheCallback.releaseConnection​(OracleConnection, Object): Use Oracle Universal Connection Pool instead.
oracle.jdbc.pool.OraclePooledConnection.getLastAccessedTime()
oracle.jdbc.pool.OraclePooledConnection.getStmtCacheSize()
oracle.jdbc.pool.OraclePooledConnection.registerImplicitCacheConnectionEventListener​(ConnectionEventListener)
oracle.jdbc.pool.OraclePooledConnection.setLastAccessedTime​(long)
oracle.jdbc.pool.OraclePooledConnection.setStmtCacheSize​(int)
oracle.sql.BLOB.empty_lob(): use getEmptyBLOB instead
oracle.sql.BLOB.getBinaryOutputStream(): This method is deprecated. Use setBinaryStream(1L).
oracle.sql.BLOB.putBytes​(long, byte[]): This method is deprecated -- use setBytes
oracle.sql.BLOB.trim​(long): This method id deprecated -- use truncate
oracle.sql.CLOB.empty_lob(): use getEmptyCLOB instead
oracle.sql.CLOB.getAsciiOutputStream(): This method is deprecated. Use setAsciiStream( 1L );
oracle.sql.CLOB.getCharacterOutputStream(): This method is deprecated. Use setCharacterStream( 1L ).
oracle.sql.CLOB.putString​(long, String): This method is deprecated -- use setString.
oracle.sql.CLOB.trim​(long): This method is deprecated. Use truncate().
oracle.sql.DatumWithConnection.getConnection(): since 9.0.0. Use ``getJavaSqlConnection()`` or ``getInternalConnection()``, or Use ``getOracleConnection()`` instead.
oracle.sql.StructDescriptor.createDescriptor​(SQLName, Connection, boolean, boolean)
oracle.sql.TIMESTAMPLTZ.toBytes​(Connection, Time, Calendar)
oracle.sql.TIMESTAMPLTZ.toDate​(Connection, byte[], Calendar)
oracle.sql.TIMESTAMPLTZ.toDATE​(Connection, byte[], Calendar)
oracle.sql.TIMESTAMPLTZ.toString​(Connection, byte[], Calendar)
oracle.sql.TIMESTAMPLTZ.toTime​(Connection, byte[], Calendar)
oracle.sql.TIMESTAMPLTZ.toTimestamp​(Connection, byte[], Calendar)

Constructors
oracle.jdbc.OracleDatabaseMetaData​(OracleConnection): -- Please use the factory method java.sql.Connection.getMetaData()
oracle.jdbc.pool.OracleOCIConnectionPool​(String, String, String)

oracle.sql.RAW​(Object)

in 9.2. The behavior of this constructor when passed a String argument will be changed in the next major release after 9.2. There will be no change in the behavior when passed an argument of any other type. The static methods newRAW and oldRAW capture the new and old behavior. It is deprecated only to warn of the impending change in behavior. The deprecation will be removed in the next major release after 9.2. The constructor will remain and will be supported. See release notes for more info.

oracle.sql.TIMESTAMPLTZ​(Connection, Time, Calendar)