Hi all,

I need a little brainstorming help.  I'm using DBCP and Oracle 9.2.  I
see an occassional problem where I get ORA-01407 ("Cannot update *blah*
to null") on update.  I am stumped about why.  The column is NOT NULL,
it's accessed only 1 place in my code, and that code will not allow a
null value to get through (I've tried it.)  It's not reproducible in the
sense that I know if I do x and y, it will happen, but when it does
happen, it seems to be consistent for a particular record.  The only
thing the different occurrences have in common is that they all involve
multiple instances (3 max) of the same MDB updating the same object
simultaneously, but I think I have adequate locking in place.  The
record that gets updated comes out of a Tangosol cache.  I'm locking the
object in the cache before I try to do anything and only proceeding if
the lock was successful.  Before I had the locking code was in place I
could get some ConcurrentModificationExceptions in a unit test, but not
anymore.  There's only 1 place in my code that updates this record, so
it's not like some code locks and some code doesn't.  Can anyone think
of how the value can get switched to null between the time I call
executeUpdate() and the time it reaches the db or any other reason why
Oracle would give me that message?

Thanks

John



John Gregg
Application Systems Engineer
Wells Fargo Private Client Services Technology

Reply via email to