/
Oracle JDBC Driver Upgrade from v11.2.0.4 to v19.20.0.0 and JOOQ Upgrade from v3.9.1 to 3.17.x

Oracle JDBC Driver Upgrade from v11.2.0.4 to v19.20.0.0 and JOOQ Upgrade from v3.9.1 to 3.17.x

Overview

The JDBC driver for the Oracle Snap Pack is upgraded from OJDBC6 JAR (v11.2.0.4) to OJDBC10 JAR (v19.20.0.0) in the stable distribution in the November 2023 release. As part of this upgrade, the 19.20.0.0 JDBC driver is bundled with the Oracle Snap Pack as the default JDBC driver.

FAQ for the Oracle JDBC Driver Upgrade

What is happening?

The Oracle JDBC Driver is upgraded from OJDBC6 JAR (11.2.0.4 version) to the OJDBC10 JAR (19.20.0.0 version). The OJDBC10 JAR is bundled with the Oracle Snap Pack as the default driver.

Why are we upgrading the Oracle driver?

The decision to upgrade the Oracle JDBC driver from version 11.2.0.4 to 19.20.0.0 is made to improve security, performance, stability, and reliability. Oracle Database 19c offers significant enhancements, bug fixes, and new features unavailable in the 11g version. Upgrading to 19.20.0.0 ensures continued support and compatibility with modern systems and provides a more efficient and secure database environment.

What is the timeline for this upgrade?

This upgrade is available as a stable upgrade on November 8, 2023.

Will I be impacted?

Yes, if you use the default version, you will be impacted. The impact might be minimal if you use the latest driver or a higher version than 19c.

Do I need to reconfigure my accounts?

You do not have to reconfigure your account settings or drivers; the account can remain as-is to work with the latest driver. However, if you currently use the default version and want to revert to the previous version behavior, we recommend you use the OJDBC6 JAR.

How do you override the behavior changes?

Use the OJDBC6 JAR from the 11.2.0.4 version to maintain the same behavior as before the driver upgrade:

Behavior Changes

This driver upgrade has resulted in specific behavior changes in the Snap Pack. These changes are for status codes and success and failure messages. This table lists these changes:

Oracle Snaps

Scenario

Error/Output from the Old (OJDBC6 JAR—11.2.0.4 version) JDBC Driver

Error/Output from the new (OJDBC10 JAR —19.20.0.0 version) JDBC Driver

Oracle-Execute

jOOQ upgrade change:

When you use a stored procedure.

Output message:

Message: Success

Output message:

$UPDATE_COUNT=-1.

Oracle - Execute

Oracle - Insert

Oracle - Merge

When the insert and merge operations are successful.

Output message:

  • Status: "-2"

  • Message: Batch statement executed successfully, but no count of the number of rows it affected is available.

Output message:

  • Status: 1

  • Message: success

Oracle - Delete

Oracle - Execute

Oracle - Update

When the delete and update operations are successful.

Output message:

  • Status: "-2"

  • Message: Batch statement executed successfully, but no count of the number of rows it affected is available.

Output message:

  • Status: "number of rows impacted"

  • Message: success

Oracle - Insert

When you enter a string value instead of an integer in a numeric column for the insert operation.

Error message: SQL operation failed.

Reason: ORA-01722: invalid number , error code: 1722, Coracle-Insert ? BH D7 A ® 'SQL state: 42000,

Resolution: Please check for valid Snap properties and input data.

Error Message: Invalid integer: <string>

Reason: The string value is not a number.

Resolution: Please address the reported issue.

Oracle - Insert

 

When you insert null values into the not null column type.

Error message:

Insert batch records into not null column type- one record specified with null value to fail and route to error view.

Reason: ORA-01400: cannot insert NULL into (&quot;<table name>$#&quot;.&quot;ORACLECHAR_NOTNULL&quot;.&quot;COLUMN1&quot;) , error code: 1400, SQL state: 23000, next exception: ORA-01400: cannot insert NULL into (&quot;<table_name>$#&quot;.&quot;ORACLECHAR_NOTNULL&quot;.&quot;COLUMN1&quot;) },