java.lang.AbstractMethodError: sun/util/calendar/AbstractCalendar.getFixedD

The following failure occurs when we perform insert operation using a connection which has the auto commit set to false.

Operating System: IBM AIX

Application Server: WAS Express 6.1.0.7 (WAS 6.1 applied update pack 6.1.0.7)

JDK: IBM JDK 1.5.0 (Shipped with WAS Express 6.1.0.7)

JDBC Driver: Oracle JDBC Driver version - "10.2.0.2.0"

Database: Oracle 10G

[6/27/07 11:27:57:641 EDT] 00000024 SystemErr R Exception in thread "Thread-45" java.lang.AbstractMethodError: sun/util/calendar/AbstractCalendar.getFixedDate(Lsun/util/calendar/CalendarDate;)J

[6/27/07 11:27:57:642 EDT] 00000024 SystemErr R at sun.util.calendar.AbstractCalendar.getTime(AbstractCalendar.java:186)

[6/27/07 11:27:57:642 EDT] 00000024 SystemErr R at sun.util.calendar.ZoneInfo.getOffset(ZoneInfo.java:391)

[6/27/07 11:27:57:642 EDT] 00000024 SystemErr R at oracle.jdbc.driver.DateCommonBinder.zoneOffset(OraclePreparedStatement.java:15494)

[6/27/07 11:27:57:642 EDT] 00000024 SystemErr R at oracle.jdbc.driver.DateCommonBinder.setOracleCYMD(OraclePreparedStatement.java:15632)

[6/27/07 11:27:57:643 EDT] 00000024 SystemErr R at oracle.jdbc.driver.DateBinder.bind(OraclePreparedStatement.java:15712)

[6/27/07 11:27:57:643 EDT] 00000024 SystemErr R at oracle.jdbc.driver.OraclePreparedStatement.setupBindBuffers(OraclePreparedStatement.java:2911)

[6/27/07 11:27:57:643 EDT] 00000024 SystemErr R at oracle.jdbc.driver.OraclePreparedStatement.processCompletedBindRow(OraclePreparedStatement.java:2190)

[6/27/07 11:27:57:643 EDT] 00000024 SystemErr R at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3334)

[6/27/07 11:27:57:643 EDT] 00000024 SystemErr R at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3423)

[6/27/07 11:27:57:643 EDT] 00000024 SystemErr R at com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.pmiExecuteUpdate(WSJdbcPreparedStatement.java:948)

[6/27/07 11:27:57:643 EDT] 00000024 SystemErr R at com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.executeUpdate(WSJdbcPreparedStatement.java:615)

Please help us in solving this issue.

Thanks,

Muthu

[2272 byte] By [Muthukumaran_Ma] at [2007-11-27 9:08:34]
# 1
The driver that you are using should document which version of java that it supports.What version does it say that is supports?
jschella at 2007-7-12 21:46:57 > top of Java-index,Database Connectivity,Java Database Connectivity (JDBC)...
# 2

Driver's document says that I can be used with JDK 1.4 and JDK 1.5.

I will try to explain the whole operation.

We are trying to read data from XML files (Total size of all XMLs comes to around 500MB) and insert into various tables. Following are the steps involved.

1. Once the user starts the operation, we will start a thread to make this long running process to run in back-ground.

2. This thread first parses the XML and reads the data.

3. Then we construct the SQL query dynamically.

4. We create a connection with auto commit set to false.

5. Then we create a prepared statement and add this SQL using addBatch() method to that prepared statement.

6. We add all the prepared statement to a array list

7. Once this is all done, we iterate all the prepared statement and call executeBatch() on all the statements.

8. Once all the statements are executed we call commit() on the connection.

9. If an exception occurs we call rollback();

Some of the findings are

1. This issue also occurs in Windows, but not consistently. Some it runs properly, at times it fails.

2. When we changed the ojdbc14.jar to older version 9.0.2.0, its working fine in windows and AIX.

3. When we enable the Our Application logger or the WAS trace log, it抯 working fine.

Muthukumaran_Ma at 2007-7-12 21:46:57 > top of Java-index,Database Connectivity,Java Database Connectivity (JDBC)...
# 3
Of course normally you can't rely on large block commits because you might exceed the transaction history limits.Other than that, given that it works with a previous version, it suggests a bug.
jschella at 2007-7-12 21:46:57 > top of Java-index,Database Connectivity,Java Database Connectivity (JDBC)...