My Oracle Support Banner

setDouble On INSERT Corrupts Data In NUMBER Column Using Oracle10g JDBC Driver (Doc ID 313373.1)

Last updated on MAY 15, 2023

Applies to:

JDBC - Version 10.1.0.2 to 10.1.0.5 [Release 10.1]
Information in this document applies to any platform.
This problem can occur on any platform.

Symptoms

setDouble on an INSERTed NUMBER value corrupt data in Column

Subsequent SELECTs on the corrupted data will fail with ORA-7445

The stack will look like (On Solaris 8.1.7.4):
lnxadd evaabo evaopn2 kpofcr qertbFetch

 

On windows 8.1.7.4:
lnxadd evaabo evaopn2 kpofcr qerstRowP qertbFetch qerstFetch
On Windows 10.1.0.4:
lnxadd evaadd kpofcr qerstRowP kdstf0000101km kdsttgr qertbFetch qerstFetch

 

A SQL Trace will reveal the error

    "An invalid number has been seen. Memory contents are"

 

  1. Fails with Oracle JDBC Driver 10.1.0.2.0
  2. Fails with Oracle JDBC Driver 10.1.0.3.0
  3. Fails with Oracle JDBC Driver 10.1.0.4.0



Work OK with Oracle JDBC Driver 9.2.0.6.0 and 8.1.7

Reproduced with testcase:

double xx = -0.0008;
ps = conn.prepareStatement("insert into sal (n) values (?)");
ps.setDouble(1, xx);

Changes

 

Cause

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


In this Document
Symptoms
Changes
Cause
Solution
References


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.