"java.sql.SQLException: Invalid Column Index" After Upgrading WebLogic To 12.2.1.3.0
(Doc ID 2609793.1)
Last updated on JUNE 09, 2023
Applies to:
JDBC - Version 12.2.0.0.0 and laterInformation in this document applies to any platform.
Symptoms
WebLogic 10.3.6 was used to run an application on HPUX Itanium and it has run fine for a long time under Java 6.
Now, WebLogic Server has been upgraded to 12.2.1.3.0 and Java 8 on the same platform.
The upgrade was successful and all the functionality seems to work fine.
However, when running the first performance test on the new version, a large number of "java.sql.SQLException: Invalid column index" exceptions are noticed.
Upon repeating the tests several times, it was observed that the errors do not always happen in the same place.
It seems that once the first error occurs, it stays that way until WebLogic is restarted.
Attempts were made to reproduce the same issue on a Linux platform and under a much heavier load,
but there were no exceptions seen. It therefore might be related to the HPUX version of JDK.
Exception stack
"javax.ejb.EJBException: EJB Exception: ; nested exception is:
<NAME>.common.exception.TechnicalRuntimeException: org.hibernate.exception.GenericJDBCException: could not execute query
at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.unwrapRemoteException(RemoteBusinessIntfProxy.java:128)
at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBusinessIntfProxy.java:95)
at com.sun.proxy.$Proxy311.processWebServiceCommandSLA1(Unknown Source)
at sun.reflect.GeneratedMethodAccessor709.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.remoting.rmi.RmiClientInterceptorUtils.invokeRemoteMethod(RmiClientInterceptorUtils.java:71)
at org.springframework.ejb.access.SimpleRemoteSlsbInvokerInterceptor.doInvoke(SimpleRemoteSlsbInvokerInterceptor.java:98)
at org.springframework.ejb.access.AbstractRemoteSlsbInvokerInterceptor.invokeInContext(AbstractRemoteSlsbInvokerInterceptor.java:140)
at org.springframework.ejb.access.AbstractSlsbInvokerInterceptor.invoke(AbstractSlsbInvokerInterceptor.java:189)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
at com.sun.proxy.$Proxy184.processWebServiceCommandSLA1(Unknown Source)
at sun.reflect.GeneratedMethodAccessor708.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.expression.spel.support.ReflectiveMethodExecutor.execute(ReflectiveMethodExecutor.java:113)
at org.springframework.expression.spel.ast.MethodReference.getValueInternal(MethodReference.java:102)
:::::::::::::::::
:::::::::::::::::
at weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:57)
at weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41)
at weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:652)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:420)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:360)
Caused by: <NAME>.common.exception.TechnicalRuntimeException: org.hibernate.exception.GenericJDBCException: could not execute query
<NAME>.abstraction.queries.manager.QueryManager$2.doInHibernate(QueryManager.java:478)
at org.springframework.orm.hibernate4.HibernateTemplate.doExecute(HibernateTemplate.java:340)
at org.springframework.orm.hibernate4.HibernateTemplate.execute(HibernateTemplate.java:295)
:::::::::::::::::
:::::::::::::::::
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:552)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:313)
at <NAME>.presentation.CSFacade_s12u5g_CSContractImpl_12213_WLStub.processWebServiceCommandSLA1(Unknown Source)
at sun.reflect.GeneratedMethodAccessor751.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBusinessIntfProxy.java:87)
... 365 more
Caused by: org.hibernate.exception.GenericJDBCException: could not execute query
at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:54)
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:126)
at org.hibernate.loader.Loader.doList(Loader.java:2557)
at org.hibernate.loader.Loader.doList(Loader.java:2540)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2370)
at org.hibernate.loader.Loader.list(Loader.java:2365)
at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:353)
at org.hibernate.internal.SessionImpl.listCustomQuery(SessionImpl.java:1909)
at org.hibernate.internal.AbstractSessionImpl.list(AbstractSessionImpl.java:311)
at org.hibernate.internal.SQLQueryImpl.list(SQLQueryImpl.java:141)
at <NAME>.abstraction.queries.manager.QueryManager$2.doInHibernate(QueryManager.java:442)
... 427 more
Caused by: java.sql.SQLException: Invalid column index
at oracle.jdbc.driver.OraclePreparedStatement.setIntInternal(OraclePreparedStatement.java:4820)
at oracle.jdbc.driver.OracleCallableStatement.setInt(OracleCallableStatement.java:4489)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.setInt(OraclePreparedStatementWrapper.java:195)
at weblogic.jdbc.wrapper.PreparedStatement.setInt(PreparedStatement.java:530)
at org.hibernate.type.descriptor.sql.IntegerTypeDescriptor$1.doBind(IntegerTypeDescriptor.java:63)
at org.hibernate.type.descriptor.sql.BasicBinder.bind(BasicBinder.java:90)
at org.hibernate.type.AbstractStandardBasicType.nullSafeSet(AbstractStandardBasicType.java:286)
at org.hibernate.type.AbstractStandardBasicType.nullSafeSet(AbstractStandardBasicType.java:281)
at org.hibernate.loader.Loader.bindNamedParameters(Loader.java:2043)
at org.hibernate.loader.Loader.bindParameterValues(Loader.java:1967)
at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1901)
at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1862)
at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1839)
at org.hibernate.loader.Loader.doQuery(Loader.java:910)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:355)
at org.hibernate.loader.Loader.doList(Loader.java:2554)
... 435 more
Additional details
- In the failing encironment, WebLogic and the database run on HPUX Itanium.
But in test environments, everything runs on Linux.
- Linux environment is a replica of the HPUX environment, except for the JDK flavour.
- The problem occurs in both clustered and non-clustered database environments.
Environment
WebLogic - 12.2.1.3.190522
JDBC version: 12.2.0.1.0
JDK on HPUX: 1.8.0.17 provided by HPE,
JDK on Linux: 1.8.0_202 provided by Oracle
Hibernate version: 4.3.11
Spring version: 4.1.9
Oracle Database: 11.2.0.4.0.
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 |