[Symptom]
When registering data in the DATE type column using "java.sql.Date", the time may not be handled appropriately, depending on the version of the Oracle JDBC driver.
[Cause]
The operation of setDate() has been changed from Oracle JDBC Driver 12.1.0.1. As a result, when setDate() is used, the time is now stored in the DATE type column.
From Oracle JDBC Driver 12.1.0.1: The time defined in the variable of setDate() is stored.
Up to Oracle JDBC Driver 11.2.0.4: The driver sets the time to "00:00:00".
[Problematic Cases]
When all of the following conditions are met, operation may be impacted by this symptom after upgrading the version.
* While using Oracle Database 11g or a previous version, the Oracle Database version is upgraded to 12c or later
* "-Doracle.jdbc.mapDateToTimestamp=false" is set in the system properties
* DATE type column is used by an independently developed program, such as a customization or added function
[Remedy]
Fix the independently developed program, such as a customization or added function, so that setting the time in the DATE type column will not cause any problems.
Or,
Set "-Doracle.jdbc.DateZeroTime=true" in the system properties.
In Oracle JDBC Driver 12.1.0.1 and 12.1.0.2, this property can be used by applying Patch 19297927.
For details, please check the Oracle Support site.
--Target -------------------------------------------------------------------------
iAP/Accel Platform/All Updates
--------------------------------------------------------------------------------
FAQID:1123