My Oracle Support Banner

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

Last updated on MARCH 15, 2022

Applies to:

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


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
lnxadd evaabo evaopn2 kpofcr qertbFetch


On windows
lnxadd evaabo evaopn2 kpofcr qerstRowP qertbFetch qerstFetch
On Windows
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
  2. Fails with Oracle JDBC Driver
  3. Fails with Oracle JDBC Driver

Work OK with Oracle JDBC Driver and 8.1.7

Reproduced with testcase:

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




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

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