ClassCastException in oracle.sql.TRANSDUMP with parameterbinding

We are facing with the following problem when we use Toplink DirectToFieldMapping on a field of java-type java.util.Calendar where the database-type is DATE.
This exception ONLY occures if we use parameter-binding set to true in sessions.xml
<should-bind-all-parameters>true</should-bind-all-parameters>
trace:
[java] java.lang.ClassCastException
[java] at oracle.sql.TRANSDUMP.getTransitions(TRANSDUMP.java:41)
[java] at oracle.sql.TIMEZONETAB.updateTable(TIMEZONETAB.java:456)
[java] at oracle.sql.TIMESTAMPTZ.toBytes(TIMESTAMPTZ.java:1424)
[java] at oracle.sql.TIMESTAMPTZ.toBytes(TIMESTAMPTZ.java:1614)
[java] at oracle.sql.TIMESTAMPTZ.<init>(TIMESTAMPTZ.java:256)
[java] at oracle.toplink.internal.platform.database.oracle.TIMESTAMPHelper.buildTIMESTAMPTZ(TIMESTAMPHelper.jav
a:21)
[java] at oracle.toplink.oraclespecific.Oracle9Platform.setParameterValueInDatabaseCall(Oracle9Platform.java:34
5)
[java] at oracle.toplink.internal.databaseaccess.ParameterizedSQLBatchWritingMechanism.prepareBatchStatements(P
arameterizedSQLBatchWritingMechanism.java:171)
[java] at oracle.toplink.internal.databaseaccess.ParameterizedSQLBatchWritingMechanism.executeBatchedStatements
(ParameterizedSQLBatchWritingMechanism.java:135)
[java] at oracle.toplink.internal.databaseaccess.ParameterizedSQLBatchWritingMechanism.appendCall(Parameterized
SQLBatchWritingMechanism.java:78)
[java] at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:621)
[java] at oracle.toplink.publicinterface.UnitOfWork.executeCall(UnitOfWork.java:1400)
[java] at oracle.toplink.internal.queryframework.CallQueryMechanism.executeCall(CallQueryMechanism.java:131)
[java] at oracle.toplink.internal.queryframework.CallQueryMechanism.executeCall(CallQueryMechanism.java:115)
[java] at oracle.toplink.internal.queryframework.CallQueryMechanism.insertObject(CallQueryMechanism.java:264)
[java] at oracle.toplink.internal.queryframework.StatementQueryMechanism.insertObject(StatementQueryMechanism.j
ava:171)
[java] at oracle.toplink.internal.queryframework.StatementQueryMechanism.insertObject(StatementQueryMechanism.j
ava:188)
[java] at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.insertObjectForWrite(DatabaseQueryMecha
nism.java:433)
[java] at oracle.toplink.queryframework.InsertObjectQuery.executeCommit(InsertObjectQuery.java:45)
[java] at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.performUserDefinedWrite(DatabaseQueryMe
chanism.java:596)
[java] at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.performUserDefinedInsert(DatabaseQueryM
echanism.java:563)
[java] at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.insertObjectForWriteWithChangeSet(Datab
aseQueryMechanism.java:465)
[java] at oracle.toplink.queryframework.WriteObjectQuery.executeCommitWithChangeSet(WriteObjectQuery.java:119)
[java] at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.executeWriteWithChangeSet(DatabaseQuery
Mechanism.java:258)
[java] at oracle.toplink.queryframework.WriteObjectQuery.execute(WriteObjectQuery.java:51)
[java] at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:493)
[java] at oracle.toplink.publicinterface.Session.internalExecuteQuery(Session.java:1958)
[java] at oracle.toplink.publicinterface.UnitOfWork.internalExecuteQuery(UnitOfWork.java:2255)
[java] at oracle.toplink.publicinterface.Session.executeQuery(Session.java:1086)
[java] at oracle.toplink.publicinterface.Session.executeQuery(Session.java:1038)
[java] at oracle.toplink.internal.sessions.CommitManager.commitAllObjectsWithChangeSet(CommitManager.java:177)
[java] at oracle.toplink.publicinterface.Session.writeAllObjectsWithChangeSet(Session.java:3223)
[java] at oracle.toplink.publicinterface.UnitOfWork.commitToDatabase(UnitOfWork.java:1092)
[java] at oracle.toplink.publicinterface.UnitOfWork.commitToDatabaseWithChangeSet(UnitOfWork.java:1137)
[java] at oracle.toplink.publicinterface.UnitOfWork.issueSQLbeforeCompletion(UnitOfWork.java:2492)
[java] at oracle.toplink.jts.oracle9i.Oracle9iJTSSynchronizationListener.beforeCompletion(Oracle9iJTSSynchroniz
ationListener.java:75)
[java] at com.evermind.server.ApplicationServerTransaction.callSynchronizationBeforeCompletion(ApplicationServe
rTransaction.java:1404)
[java] at com.evermind.server.ApplicationServerTransaction.beforeCompletion(ApplicationServerTransaction.java:1
256)
[java] at com.evermind.server.ApplicationServerTransaction.commit(ApplicationServerTransaction.java:680)
[java] at com.evermind.server.ApplicationServerTransaction.end(ApplicationServerTransaction.java:1035)
[java] at StandortFacade_StatelessSessionBeanWrapper28.create(StandortFacade_StatelessSessionBeanWrapper28.java
:478)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[java] at java.lang.reflect.Method.invoke(Method.java:324)
[java] at com.evermind.server.rmi.RMICallHandler.run(RMICallHandler.java:124)
[java] at com.evermind.server.rmi.RMICallHandler.run(RMICallHandler.java:48)
[java] at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java
:192)
[java] at java.lang.Thread.run(Thread.java:534)
[java] at connection to localhost/127.0.0.1
[java] at com.evermind.server.rmi.OrionRemoteException.receive(OrionRemoteException.java:130)
[java] at com.evermind.server.rmi.RMIConnection.handleMethodInvocationResponse(RMIConnection.java:1738)
[java] at com.evermind.server.rmi.RMIConnection.run(RMIConnection.java:453)
[java] at com.evermind.server.rmi.RMIConnection.run(RMIConnection.java:333)
[java] at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java
:186)
[java] at java.lang.Thread.run(Thread.java:534)
[java] 2005-06-28 19:33:03,452 WARN de.dpag.move.stammdaten.cs.StandortDelegate - resetHome
[java] 2005-06-28 19:33:03,452 ERROR de.dpag.move.client.stammdaten.model.standort.StandortEditDialogModel - Intern
er Fehler auf dem Server!
[java] de.dpag.move.infrastructure.exception.InternalException: com.evermind.server.rmi.OrionRemoteException: Trans
action was rolled back: Error in transaction: java.lang.ClassCastException; nested exception is:
[java] java.lang.ClassCastException
[java] at de.dpag.move.stammdaten.cs.StandortDelegate.create(StandortDelegate.java:184)
[java] at de.dpag.move.client.stammdaten.model.standort.StandortEditDialogModel.createDataAtServer(StandortEdit
DialogModel.java:235)
[java] at de.dpag.move.client.stammdaten.model.AbstractEditDialogModel.storeTO(AbstractEditDialogModel.java:124
[java] at de.dpag.move.client.stammdaten.control.AbstractEditDialogController.okay(AbstractEditDialogController
.java:127)
[java] at de.dpag.move.client.common.AbstractDialogController.doApply(AbstractDialogController.java:714)
[java] at de.dpag.move.client.common.AbstractDialogController$2.apply(AbstractDialogController.java:230)
[java] at de.dpag.move.client.common.AbstractMDIDialog$4.actionPerformed(AbstractMDIDialog.java:326)
[java] at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786)
[java] at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1839)
[java] at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
[java] at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
[java] at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:245)
[java] at java.awt.Component.processMouseEvent(Component.java:5100)
[java] at java.awt.Component.processEvent(Component.java:4897)
[java] at java.awt.Container.processEvent(Container.java:1569)
[java] at java.awt.Component.dispatchEventImpl(Component.java:3615)
[java] at java.awt.Container.dispatchEventImpl(Container.java:1627)
[java] at java.awt.Component.dispatchEvent(Component.java:3477)
[java] at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483)
[java] at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)
[java] at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
[java] at java.awt.Container.dispatchEventImpl(Container.java:1613)
[java] at java.awt.Window.dispatchEventImpl(Window.java:1606)
[java] at java.awt.Component.dispatchEvent(Component.java:3477)
[java] at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
[java] at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
[java] at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
[java] at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
[java] at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
[java] at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
[java] Caused by: com.evermind.server.rmi.OrionRemoteException: Transaction was rolled back: Error in transaction:
java.lang.ClassCastException; nested exception is:
[java] java.lang.ClassCastException
[java] at com.evermind.server.rmi.RMIConnection.EXCEPTION_ORIGINATES_FROM_THE_REMOTE_SERVER(RMIConnection.java:
1602)
[java] at com.evermind.server.rmi.RMIConnection.invokeMethod(RMIConnection.java:1553)
[java] at com.evermind.server.rmi.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:55)
[java] at com.evermind.server.rmi.RecoverableRemoteInvocationHandler.invoke(RecoverableRemoteInvocationHandler.
java:22)
[java] at com.evermind.server.ejb.StatelessSessionRemoteInvocationHandler.invoke(StatelessSessionRemoteInvocati
onHandler.java:50)
[java] at __Proxy5.create(Unknown Source)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[java] at java.lang.reflect.Method.invoke(Method.java:324)
[java] at de.dpag.move.infrastructure.interceptor.MethodCallInterceptor.invoke(MethodCallInterceptor.java:31)
[java] at de.dpag.move.infrastructure.interceptor.MoveMethodInvocation.proceed(MoveMethodInvocation.java:58)
[java] at de.dpag.move.infrastructure.interceptor.DelegateAuthentifizierungInterceptor.invoke(DelegateAuthentif
izierungInterceptor.java:70)
[java] at de.dpag.move.infrastructure.interceptor.MoveMethodInvocation.proceed(MoveMethodInvocation.java:58)
[java] at de.dpag.move.infrastructure.interceptor.DelegateExceptionHandlingInterceptor.invoke(DelegateException
HandlingInterceptor.java:34)
[java] at de.dpag.move.infrastructure.interceptor.MoveMethodInvocation.proceed(MoveMethodInvocation.java:58)
[java] at de.dpag.move.infrastructure.interceptor.BadThreadInterceptor.invoke(BadThreadInterceptor.java:27)
[java] at de.dpag.move.infrastructure.interceptor.MoveMethodInvocation.proceed(MoveMethodInvocation.java:58)
[java] at de.dpag.move.infrastructure.interceptor.TraceInterceptor.invoke(TraceInterceptor.java:39)
[java] at de.dpag.move.infrastructure.interceptor.MoveMethodInvocation.proceed(MoveMethodInvocation.java:58)
[java] at de.dpag.move.stammdaten.cs.StandortDelegate.create(StandortDelegate.java:178)
[java] ... 29 more
[java] Caused by: java.lang.ClassCastException
[java] at com.evermind.server.rmi.OrionRemoteException.receive(OrionRemoteException.java:130)
[java] at com.evermind.server.rmi.RMIConnection.handleMethodInvocationResponse(RMIConnection.java:1738)
[java] at com.evermind.server.rmi.RMIConnection.run(RMIConnection.java:453)
[java] at com.evermind.server.rmi.RMIConnection.run(RMIConnection.java:333)
[java] at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java
:186)
[java] at java.lang.Thread.run(Thread.java:534)
we have made a debugging and can see that connection.prepareCall(...) answers an instance of com.evermind.sql.CallableStatementBCELProxy,
which of course results in the ClassCastException showed above.
the exception occurs at the class TRANSDUMP in the line where the explicit cast to OracleCallableStatement is done
oracle.sql.TRANSDUMP is taken from ojdbc14.jar, the recommended one from http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/htdocs/jdbc9201.html
public class TRANSDUMP
public TRANSDUMP()
public static byte[] getTransitions(Connection connection, int i)
throws SQLException
OracleCallableStatement oraclecallablestatement = (OracleCallableStatement)connection.prepareCall("begin dbms_utility.get_tz_transitions(?,?); end;");
NUMBER number = new NUMBER(i);
oraclecallablestatement.setNUMBER(1, number);
oraclecallablestatement.registerOutParameter(2, -2);
oraclecallablestatement.execute();
byte abyte0[] = oraclecallablestatement.getBytes(2);
oraclecallablestatement.close();
return abyte0;
we use the following settings in our data-sources.xml
<data-source
          name="FOODS"
          username="scott"
          password="tiger"
          location="jdbc/FOODS"          
          connection-driver="oracle.jdbc.driver.OracleDriver"
          class="com.evermind.sql.OrionCMTDataSource"
          url="jdbc:oracle:thin:@foo-db-1:1545:db1"
          inactivity-timeout="30"/>
the used sessions.xml
<?xml version = '1.0' encoding = 'UTF-8'?>
<!DOCTYPE toplink-configuration PUBLIC "-//Oracle Corp.//DTD TopLink Sessions 9.0.4//EN" "sessions_9_0_4.dtd">
<toplink-configuration>
<session>
<name>datenpool</name>
<project-xml>datenpool.xml</project-xml>
<session-type>
<server-session/>
</session-type>
<login>
<datasource>jdbc/FOODS</datasource>
<platform-class>oracle.toplink.oraclespecific.Oracle9Platform</platform-class>
<uses-native-sequencing>true</uses-native-sequencing>
<should-bind-all-parameters>true</should-bind-all-parameters>
<uses-streams-for-binding>true</uses-streams-for-binding>
<should-force-field-names-to-uppercase>true</should-force-field-names-to-uppercase>
<uses-batch-writing>true</uses-batch-writing>
<uses-external-connection-pool>true</uses-external-connection-pool>
<uses-native-sql>true</uses-native-sql>
<uses-external-transaction-controller>true</uses-external-transaction-controller>
</login>
<external-transaction-controller-class>oracle.toplink.jts.oracle9i.Oracle9iJTSExternalTransactionController</external-transaction-controller-class>
<enable-logging>true</enable-logging>
<logging-options/>
</session>
</toplink-configuration>
environment:
OC4J: 10.1.2
Toplink: 9.0.4.5
JDBC-Driver: ojdbc14.jar for Oracle9i (9.2.0.5) and the needed classes12dms.jar carried with the oc4j10.1.2.0 installation (jdbc\lib\classes12dms.jar.jar)
Oracle9i: 9.2.0.5
Is this a problem in our oc4j with toplink and datasource configuration or perhaps a real BUG ?
Regards,
Dirk

Hi everyone, i'm developing an application based on Spring - TopLink combination, in a test enviroment using JDeveloper embedded OC4J, everything works fine, but when i try to deploy the application on OAS 10.1.3.1 (SOA suite), i get the next Exception
07/12/13 18:13:39 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ToplinkSessionFactory' defined in class path resource [cu-generarprocesoseleccion-app-context.xml]: Initialization of bean failed; nested exception is java.lang.ClassCastException: oracle.toplink.jts.oracle9i.Oracle9iJTSExternalTransactionController
07/12/13 18:13:39 java.lang.ClassCastException: oracle.toplink.jts.oracle9i.Oracle9iJTSExternalTransactionController
07/12/13 18:13:39      at oracle.toplink.platform.server.ServerPlatformBase.initializeExternalTransactionController(ServerPlatformBase.java:194)
07/12/13 18:13:39      at oracle.toplink.publicinterface.DatabaseSession.login(DatabaseSession.java:498)
07/12/13 18:13:39      at org.springframework.orm.toplink.LocalSessionFactory.createSessionFactory(LocalSessionFactory.java:292)
07/12/13 18:13:39      at org.springframework.orm.toplink.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:52)
07/12/13 18:13:39      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1058)
07/12/13 18:13:39      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:363)
07/12/13 18:13:39      at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226)
07/12/13 18:13:39      at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147)
07/12/13 18:13:39      at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:269)
07/12/13 18:13:39      at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:318)
07/12/13 18:13:39      at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:81)
07/12/13 18:13:39      at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:66)
07/12/13 18:13:39      at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:57)
07/12/13 18:13:39      at com.iqsoft.rrhh.cu_generarprocesoseleccion.business.ejb.GenerarProcesoSeleccionBean.ejbCreate(GenerarProcesoSeleccionBean.java:25)
07/12/13 18:13:39      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
07/12/13 18:13:39      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
07/12/13 18:13:39      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
07/12/13 18:13:39      at java.lang.reflect.Method.invoke(Method.java:585)
07/12/13 18:13:39      at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
07/12/13 18:13:39      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
07/12/13 18:13:39      at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
07/12/13 18:13:39      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
07/12/13 18:13:39      at com.evermind.server.ejb.interceptor.system.SetContextActionInterceptor.invoke(SetContextActionInterceptor.java:44)
07/12/13 18:13:39      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
07/12/13 18:13:39      at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
07/12/13 18:13:39      at com.evermind.server.ejb.LifecycleManager.invokeLifecycleMethod(LifecycleManager.java:262)
07/12/13 18:13:39      at com.evermind.server.ejb.LifecycleManager.invokeLifecycleMethod(LifecycleManager.java:252)
07/12/13 18:13:39      at com.evermind.server.ejb.LifecycleManager.postConstruct(LifecycleManager.java:113)
07/12/13 18:13:39      at com.evermind.server.ejb.StatelessSessionBeanPool.createContextImpl(StatelessSessionBeanPool.java:40)
07/12/13 18:13:39      at com.evermind.server.ejb.BeanPool.createContext(BeanPool.java:418)
07/12/13 18:13:39      at com.evermind.server.ejb.BeanPool.allocateContext(BeanPool.java:244)
07/12/13 18:13:39      at com.evermind.server.ejb.StatelessSessionEJBHome.getContextInstance(StatelessSessionEJBHome.java:25)
07/12/13 18:13:39      at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:86)
07/12/13 18:13:39      at GenerarProcesoSeleccionEJB_LocalProxy_1heg7kp.registrarProcesoSeleccion(Unknown Source)
07/12/13 18:13:39      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
07/12/13 18:13:39      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
07/12/13 18:13:39      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
07/12/13 18:13:39      at java.lang.reflect.Method.invoke(Method.java:585)
07/12/13 18:13:39      at org.springframework.ejb.access.LocalSlsbInvokerInterceptor.invoke(LocalSlsbInvokerInterceptor.java:66)
07/12/13 18:13:39      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
07/12/13 18:13:39      at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:174)
07/12/13 18:13:39      at $Proxy0.registrarProcesoSeleccion(Unknown Source)
07/12/13 18:13:39      at com.iqsoft.rrhh.cu_generarprocesoseleccion.web.bean.RegistrarProcesoJSFBean.registrarProcesoSeleccion(RegistrarProcesoJSFBean.java:129)
07/12/13 18:13:39      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
07/12/13 18:13:39      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
07/12/13 18:13:39      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
07/12/13 18:13:39      at java.lang.reflect.Method.invoke(Method.java:585)
07/12/13 18:13:39      at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:132)
07/12/13 18:13:39      at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:61)
07/12/13 18:13:39      at javax.faces.component.UICommand.broadcast(UICommand.java:109)
07/12/13 18:13:39      at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:184)
07/12/13 18:13:39      at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:162)
07/12/13 18:13:39      at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:350)
07/12/13 18:13:39      at org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:32)
07/12/13 18:13:39      at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:95)
07/12/13 18:13:39      at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:70)
07/12/13 18:13:39      at javax.faces.webapp.FacesServlet.service(FacesServlet.java:139)
07/12/13 18:13:39      at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
07/12/13 18:13:39      at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
07/12/13 18:13:39      at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
07/12/13 18:13:39      at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:621)
07/12/13 18:13:39      at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:368)
07/12/13 18:13:39      at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:866)
07/12/13 18:13:39      at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:448)
07/12/13 18:13:39      at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:216)
07/12/13 18:13:39      at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:117)
07/12/13 18:13:39      at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:110)
07/12/13 18:13:39      at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
07/12/13 18:13:39      at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
07/12/13 18:13:39      at java.lang.Thread.run(Thread.java:595)
As you can see, the problem seems to be the Oracle9iJTSExternalTransactionController class.
hte sessions.xml, i'm using, is the next:
<toplink-configuration>
<session>
<name>RRHHadmin</name>
<project-xml>META-INF/IQSOFTDomain/rrhh-deployment-descriptor.xml</project-xml>
<session-type>
<server-session/>
</session-type>
<login>
<datasource>jdbc/HrDS</datasource>
<sequence-preallocation-size>50</sequence-preallocation-size>
<sequence-table>SEQUENCE</sequence-table>
<sequence-name-field>SEQ_NAME</sequence-name-field>
<sequence-counter-field>SEQ_COUNT</sequence-counter-field>
<uses-external-connection-pool>true</uses-external-connection-pool>
<uses-external-transaction-controller>true</uses-external-transaction-controller>
</login>
<external-transaction-controller-class>oracle.toplink.jts.oracle9i.Oracle9iJTSExternalTransactionController</external-transaction-controller-class>
</session>
</toplink-configuration>
I'm using TopLink 10, any help would be appreciated

Similar Messages

  • ClassCastException in oracle.sql.BLOB.createTemporary

    Hi,
    I'm having a ClassCastException problem using the method oracle.sql.BLOB.createTemporary while trying to store a BLOB value (JDBC classes12.jar). The problem is quite clear - if I use the method with a dedicated database connection that specifies the driver as oracle.jdbc.driver.OracleDriver there is no problem - if I use it with an Orion datasource shipped with Oracle IAS10g it gives me a ClassCastException. I imagine that somewhere in the code of this method there is a cast of the underlying connection leading to the ClassCastException when used in conjunction with the Orion datasource. The code to save the BLOB is as follows:
    oracle.sql.BLOB blob = oracle.sql.BLOB.createTemporary(st.getConnection(), false,
    oracle.sql.BLOB.DURATION_SESSION);
    blob.open(BLOB.MODE_READWRITE);
    OutputStream out = blob.getBinaryOutputStream();
    try {
    out.write((byte[])value);
    out.flush();
    out.close();
    } catch (IOException e) {
    throw new SQLException("failed write to blob" + e.getMessage());
    blob.close();
    ((oracle.jdbc.OraclePreparedStatement)(st)).setBLOB(index, blob);
    My questions are:
    (1) is it possibile to save a BLOB type with a different version of Oracle JDBC without having to rely on the Oracle specific implementation of the JDBC interface (the cast of the PreparedStatement to oracle.jdbc.OraclePreparedStatement is quite ugly and not very portable!).
    (2) if not, then how can I get this code to work with the datasource implementation for Oracle IAS.
    thanks in advance for any help.
    Dara.

    If you are using OCI driver, you may check whether using thin driver would avoid ClassCastException.

  • How to get all tables in oracle sql developer with MS SQLServer

    Hi All,
    I am using microsoft SQL server 2000. For displaying the tables and other stuff i am using oracle SQL developer tool. The problem is when i connect to sql developer with oracle database i can see all the tables in that database. But when i connect to MS SQL server database it is not showing all the tables in that database. I don't know why?.
    i tried doing the samething using another tool called Aqua Data Studio , there i can able to see all the tables in microsoft SQL server 2000.
    do you have any knowledge regarding this, why i am not getting all the tables in oracle sql developer when i connect to microsoft SQL server 2000.

    Same issue here. Haven't found the answer yet..

  • Oracle.sql.* with JDBC drivers 8.0.5

    the oracle.sql package is not included in my JDBC driver file classes111.zip given for oracle data server version 8.0.5.
    I would like to use the oracle STRUCT and ARRAY type for calling PL/SQL stored procedures taking STRUCT objects in arguments.
    Are the JDBC drivers 8.1.* compatible with the oracle data server 8.0.5 (if I only use the STRUCT or ARRAY types)? Is it a way for passing ARRAY of VARCHAR2 values to PL/SQL stored procedure with the oracle 8.0.5 JDBC driver?
    thanks

    Unfortunately, these classes (oracle.sql.STRUCT and oracle.sql.ARRAY) are not compatible to 8.0 database. There is server format changes between 8.1 and 8.0, and JDBC driver only supports the 8.1 format.
    Please upgrade your database to 8i.

  • Oracle SQL HELP with convert GMT to EST and DST and Date offset

    Hi, I have a query that does not seem to work trying to convert a date field that is in GMT to est and using extract(timezone_hour FROM TO_TIMESTAMP_TZ as an offsetr
    HEre is my sql
    dtl.start_dt_gmt + (extract(timezone_hour FROM TO_TIMESTAMP_TZ( dtl.start_dt_gmt,'DD-MON-YYYY HH24:MI:SS TZH:TZM'))/24 ) START_DT_Local
    If the date (dtl.start_dt_gmt) is may 1 and gmt starts at 04:00 AM , the extract offset produces -4
    However, if the date (dtl.start_dt_gmt) is Feb 1 which begins at 05:00 AM GMT, the date offset still gives 04. What am i doing wrong? Any help would be appreciated. Thanks.
    Saul

    If your data is not associated with timezone then you'll have to use something like
    case when dt between A and B then dt-1/24 else dt end; <-- This will give you 1 hour back of EDT. So, as far as concern at database level, it is nothing to do at db level, because db is used by application, so you need to code in the app.
    Oracle never actually changes a TIMEZONE column value when you set your system to be on daylight savings time. There are several built-in DST DATE conversion functions for changing to daylight savings time:
    current_date
    current_timestamp
    localtimestamp
    dbtimezone
    sessiontimezone
    extract
    from_tz
    to_timestamp
    to_timestamp_tz
    to_yminterval tz_offset
    http://dba-oracle.com/t_oracle_daylight_saving_time_dst_date_conversion.htm
    Regards
    Girish Sharma

  • DATAEXPORT from Essbase to Oracle SQL - Issue with #Missing

    Hi,
    I'm exporting data from Hyperion Planning application in order to transform and load forecast data into HFM.
    To do so, I'm using ODI which build an Essbase calc script, run this calc script in Essbase, transform the data and then load it into HFM.
    The calc script is exporting data into an Oracle table. I have one problem with the precision of the extract: when I set a precision (properties DataExportDecimal & DataExportPrecision), the #Missing are exported as "0" in Oracle table. I saw in the documentation that the precision properties are optional but when I don't set these precisions, #Missing are exported as "-0,000000000002".
    I'd like to export #Missing as null and keep "0" when data equals to "0" (I mean, no transformation of "0" to null). Also, I can't change the architecture to flat file export / load.
    I put the script I use below, thanks a lot for your help!
    Stephane.
    //ESS_LOCALE English_UnitedStates.Latin1@Binary
    SET UPDATECALC OFF ;
    SET CACHE HIGH;
    SET CALCPARALLEL 4;
    SET LOCKBLOCK HIGH ;
    SET MSG SUMMARY ;
    SET DATAEXPORTOPTIONS
    DataExportLevel ALL ;
    DataExportDynamicCalc On;
    DataExportDecimal 7;
    DataExportPrecision 7;
    DataExportColFormat Off;
    DataExportRelationalFile On;
    DataExportOverwriteFile On;
    DataExportDryRun Off;
    DataExportColHeader "PERIOD";
    FIX(BegBalance, @RELATIVE(TOT_YEAR,0), &FY_N0, &FY_N1, &FY_N2, "FINAL", &CurrScenario, @RELATIVE("PL_SRC", 0), "ENTITY_CURR", @RELATIVE("SITES", 0), @RELATIVE("TECHPL", 0), "ND_COST_CENTER", "ND_COST_CENTER_IC", "IC_TOT", @LEVMBRS(BU, 0), "ALL_PROJECT", "PTD", @LEVMBRS("LEGAL_ENTITY", 0))
    DATAEXPORT "DSN" "STAGING" "STG_BUDGET_EXTRACT_RPTING_HP" "#SCHEMA" "#PASSWD";
    ENDFIX;

    I can't really comment on why #Missing is not being outputted as you expect, is it possible you can run an update after the export to transform "-0,000000000002" to NULL
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • ORACLE SQL Query with Parent and Child structure

    I have 2 tables which are Account tbl and Customer tbl, the structure is like below:
    Account tbl
    Customer_ID    Account_ID    Parent_Account_ID    
    3780952        3780952         3780952
    3780997        3780997         3780997
    3781004        3781004         3780997
    Customer tbl (Customer_Group have different value, but im only interest on Personal)
    Customer_ID      Customer_Group
    3781004          Personal
    3780997          Personal
    3780952          PersonalThe rule to determine PS/NonPS, Principle, Supp as per below:
    **PS/NonPs**
    Customer_ID equal to Parent_Account and Parent_Account is unique (not exist more than 1)  then NonPs.
    Customer_ID equal to Parent_Account and Parent_Account is non unique OR -   Customer_ID is not equal to Parent_Account then PS    
    **Principle**  IF NonPS then Principle is Null IF PS - If Customer_ID equal to Parent_Account then Principle is Y else N
    **Supp** IF NonPS then Supp is Null IF PS - If Customer_ID not equal to Parent_Account then supp is Y else N The final output should be like this
    Customer_ID    Account_ID    Parent_Account_ID   PS/NonPS   Principle   Supp
    3780952        3780952       3780952             NonPS       Null        Null
    3780997        3780997       3780997             PS          Y           N
    3781004        3781004       3780997             PS          N           Y I alredy tried many times but still cant get the output..anyone can help ?

    hi,
    i hope this is what you want , this query matches all of your mentioned requirements .
    WITH accounts AS
         (SELECT 3780952 AS customer_id, 3780952 AS account_id,
                 3780952 AS parent_account_id
            FROM DUAL
          UNION ALL
          SELECT 3780997 AS customer_id, 3780997 AS account_id,
                 3780997 AS parent_account_id
            FROM DUAL
          UNION ALL
          SELECT 3781004 AS customer_id, 3781004 AS account_id,
                 3780997 AS parent_account_id
            FROM DUAL),
         customer AS
         (SELECT 3781004 AS customer_id, 'Personal' AS customer_group
            FROM DUAL
          UNION ALL
          SELECT 3780997 AS customer_id, 'Personal' AS customer_group
            FROM DUAL
          UNION ALL
          SELECT 3780952 AS customer_id, 'Personal' AS customer_group
            FROM DUAL)
    SELECT customer_id, account_id, parent_account_id, "PS/NonPS",
           CASE
              WHEN "PS/NonPS" = 'NonPS'
                 THEN NULL
              WHEN customer_id = parent_account_id
                 THEN 'Y'
              WHEN customer_id <> parent_account_id
                 THEN 'N'
           END principle,
           CASE
              WHEN "PS/NonPS" = 'NonPS'
                 THEN NULL
              WHEN "PS/NonPS" = 'PS' AND customer_id <> parent_account_id
                 THEN 'Y'
              WHEN "PS/NonPS" = 'PS' AND customer_id = parent_account_id
                 THEN 'N'
           END SUM
      FROM (SELECT   t1.customer_id, t1.account_id, t1.parent_account_id,
                     CASE
                        WHEN t1.customer_id = t1.parent_account_id
                        AND (SELECT COUNT (*)
                               FROM accounts
                              WHERE parent_account_id = t1.parent_account_id) = 1
                           THEN 'NonPS'
                        ELSE 'PS'
                     END "PS/NonPS"
                FROM accounts t1, customer t2
               WHERE t1.customer_id = t2.customer_id
            ORDER BY t1.customer_id)
    output
    CUSTOMER_ID     ACCOUNT_ID     PARENT_ACCOUNT_ID     PS/NonPS     PRINCIPLE     SUM
    3780952     3780952     3780952     NonPS          
    3780997     3780997     3780997     PS     Y     N
    3781004     3781004     3780997     PS     N     YThanks,
    P Prakash
    Edited by: prakash on Jan 17, 2012 3:38 AM

  • Oracle sql query with data aggregation

    Hi,
    I need help to aggregate sql result as given below
    Result what I get :
    Project Id | Project Name | Employee ID | Task Count
    1 :::::::::::| Project01 ::::::| 254 :::::::::::::| 20
    1 :::::::::::| Project01 ::::::| 266 :::::::::::::| 32
    1 :::::::::::| Project01 ::::::| 654 :::::::::::::| 12
    2 :::::::::::| Project02 ::::::| 741 :::::::::::::| 54
    2 :::::::::::| Project02 ::::::| 266 :::::::::::::| 31
    3 :::::::::::| Project03 ::::::| 877 :::::::::::::| 8
    3 :::::::::::| Project03 ::::::| 955 :::::::::::::| 19
    Result should come like this :
    Project Id | Project Name | Employee ID | Task Count
    1 :::::::::::| Project01 ::::::| 254 :::::::::::::| 20
    ::::::::::::::| ::::::::::::::::::::| 266 :::::::::::::| 32
    ::::::::::::::| ::::::::::::::::::::| 654 :::::::::::::| 12
    2 :::::::::::| Project02 ::::::| 741 :::::::::::::| 54
    ::::::::::::::| ::::::::::::::::::::| 266 :::::::::::::| 31
    3 :::::::::::| Project03 ::::::| 877 :::::::::::::| 8
    ::::::::::::::| ::::::::::::::::::::| 955 :::::::::::::| 19
    I need to know whether this is possible using only sql and how to do ? (Please ignore the colons)
    Thanks

    please learn how to use tags
    [code]
    Project Id | Project Name | Employee ID | Task Count
    1          | Project01    | 254         | 20
               |              | 266         | 32
               |              | 654         | 12
    2          | Project02    | 741         | 54
               |              | 266         | 31
    3          | Project03    | 877         | 8 
               |              | 955         | 19
    [/code]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Oracle.sql.StructDescriptor.createDescriptor - java.lang.ClassCastException

    Hi,
    I am getting stuck with the exception.
    Stack trace:java.lang.ClassCastException
         at oracle.sql.StructDescriptor.createDescriptor(StructDescriptor.java:158)
         at oracle.sql.StructDescriptor.createDescriptor(StructDescriptor.java:129)
         at myclass.mymethod(myclass.java:99)That's all of the trace.
    The line 99 of my class is:
    StructDescriptor.createDescriptor("TYPE_STRUCT", conn);where TYPE_STRUCT is a simple type (2 attributes only) created in the database
    I have already successfully got the object from the database, therefore the connection conn is working. I don't know why when I call createDescriptor it throws ClassCastException.
    Please help. Thank you.

    I've got the answer now.....
    The answer is : use OracleConnection instead of Connection
    Thanks for attention.

  • Oracle SQL Developer Data Modeler start up error

    Hi All,
    I just downloaded Oracle SQL Developer Data Modeler (2.0.0.57.0) [Released 1 July 2009] by selecting the option "Oracle SQL Developer Data Modeler for Windows (This zip file includes the JRE)"
    After I installed the same and tried to run it by clicking datamodeler.exe, I get the following error message
    "unable to create an instance of the Java virtual machine located at path:..\jdk\jre\bin\client\jvm.dll"
    On the same machine I can successfuly run the Oracle SQL Develper with no errors. My machine is having Windows XP Professional SP3.
    Any ideas? If there was a problem with Java, than the Oracle SQL Developer should also not run. But as stated it runs with out any error but the Oracle SQL Developer Data Modeler gives the above error.
    Regards,
    JAA149

    1 - The above problem has nothing to do with the memmory. I tried on a 400 MB RAM, 900 MB RAM, 1.5 MB RAM & 2 MB RAM with the same arror.
    "unable to create an instance of the Java virtual machine located at path:..\jdk\jre\bin\client\jvm.dll"
    http://i30.tinypic.com/9vkwf6.jpg
    2 - There are two "datamodeler.exe: files
    One is at D:\datamodeler\datamodeler.exe
    2nd is at D:\datamodeler\bin\datamodeler.exe
    The same error occurs with both the files.
    3 - The Oracle SQL Developer Data Modeler version is "Oracle SQL Developer Data Modeler (2.0.0.57.0) [Released 1 July 2009]" and the file I downloaded is "Oracle SQL Developer Data Modeler for Windows (This zip file includes the JRE) - (57M)"
    If I look in "D:\datamodeler\jdk\jre\README.txt" I find
    "Java(TM) Platform, Standard Edition Runtime Environment Version 6"
    If I run "D:\datamodeler\jdk\jre\bin\javacpl.exe" I get
    http://i30.tinypic.com/mt8ocn.jpg
    If I run "D:\datamodeler\jdk\jre\bin\jureg.exe" I get
    http://i28.tinypic.com/30boiyo.jpg
    If i check at the control panle add/remove program
    http://i30.tinypic.com/1428tba.jpg
    If I go to "http://www.java.com/en/download/manual.jsp" and download "jre-6u16-windows-i586-s.exe" and run it.
    If I go to "C:\Program Files\Java\jre6" I find the same files as in "D:\datamodeler\jdk\jre"
    I am able to run Oracle SQL Developer with out any kind of error let alone the above one. But with Oracle SQL Developer Data Modeler I get the above mentioned error no matter what I try.
    As the error states "unable to create an instance of the Java virtual machine located at path:..\jdk\jre\bin\client\jvm.dll". The file "jvm.dll" is located at two places. One at "D:\datamodeler\jdk\jre\bin\client\jvm.dll" and the second at "D:\datamodeler\jdk\jre\bin\server\jvm.dll"
    A similiar problem occurs with JDeveloper with the fllowing solution
    http://forums.oracle.com/forums/thread.jspa?threadID=506339&start=0&tstart=0
    Which states the following
    "hello!
    in the problem with JDeveloper i have a solution. The jdk have a file jvm.dll in the path: jdk/jre/bin/client/jvm.dll this is the problem ... now in the path:jdk/jre/bin/client/ojvm has a file with the same name if you copy and paste this file to the another path, now its works fine your Jdeveloper.
    Jdeveloper use two files to jvm.dll to work one in the folder /client and other in /server copy the same file to the two locations for precaution
    for me work fine thanks..."
    I tried to do the same (Copy from client folder to server folder)
    D:\datamodeler\jdk\jre\bin\client\jvm.dll
    COPIED THIS FILE TO
    D:\datamodeler\jdk\jre\bin\server\jvm.dll
    Nada. So I reversed it (copied from server folder to client folder)
    D:\datamodeler\jdk\jre\bin\server\jvm.dll
    COPIED THIS FILE TO
    D:\datamodeler\jdk\jre\bin\client\jvm.dll
    Does not work. So I tried another solution stated at the same forum entry
    "Well,
    i solved the problem by this way :
    <SQLDEVELOPER>/jdev/bin/ide.conf
    In this file, change this line :
    AddVMOption -Xmx512M
    by
    AddVMOption -Xmx256M
    Now, the executable is lauching correctly. No more errors with Java Virtual Machine.
    But is it a good thing to solve it like that ?"
    But the ide.conf file is only at "D:\sqldeveloper\ide\bin\ide.conf" which is for the SQL Developer and not the SQl Developer Data Modeler
    Correct me if I am wrong but
    JRE = Java Run Time Envoirment
    JDK = Java Development Kit
    And Oracle SQL Developer Data Modeler needs JRE and not JDK. In any case I download JDK
    jdk-6u14-javafx-1_2-windows-i586.exe (121,306 KB) and installed it but no succcess.
    I tried every thing except completely re-install my whole PC.
    Any help will be much appreciated.
    Cordially,
    Jawad

  • Java.sql.SQLException: Internal Error while using oracle.sql.ARRAY.getArray

    Hello All,
    Here is the issue description. Our application uses Oracle Object Types and LIST. We deployed our application on QA environment which has Oracle 10g. Application runs fine...no issues. Now we moved to UAT. UAT environment is same as QA environment and DBA have created replica of QA database.
    Now WAR file which works fine with QA database , somehow doesnt work with UAT database. Application throws following exception when code tries to call getArray() on java.sql.Array.
    We tried to point UAT weblogic to QA database and it worked fine.....but when we point UAT weblogic to UAT database , we get following exception. So we know that this is a database issue.
    DBA claims that QA env database and UAT env database are same.
    Can anybody please tell me what wrong here? What setting is not done on UAT database which is done on QA?
    java.sql.SQLException: Internal Error at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:162) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:227) at oracle.jdbc.oracore.OracleTypeCOLLECTION.initCollElemTypeName(OracleTypeCOLLECTION.java:975) at oracle.jdbc.oracore.OracleTypeCOLLECTION.getAttributeType(OracleTypeCOLLECTION.java:1005) at oracle.jdbc.oracore.OracleNamedType.getFullName(OracleNamedType.java:96) at oracle.jdbc.oracore.OracleTypeADT.createStructDescriptor(OracleTypeADT.java:1958) at oracle.jdbc.oracore.OracleTypeADT.unpickle81(OracleTypeADT.java:1432) at oracle.jdbc.oracore.OracleTypeUPT.unpickle81UPT(OracleTypeUPT.java:426) at oracle.jdbc.oracore.OracleTypeUPT.unpickle81rec(OracleTypeUPT.java:383) at oracle.jdbc.oracore.OracleTypeCOLLECTION.unpickle81_imgBody_elems(OracleTypeCOLLECTION.java:928) at oracle.jdbc.oracore.OracleTypeCOLLECTION.unpickle81_imgBody(OracleTypeCOLLECTION.java:872) at oracle.jdbc.oracore.OracleTypeCOLLECTION.unpickle81(OracleTypeCOLLECTION.java:692) at oracle.jdbc.oracore.OracleTypeCOLLECTION._unlinearize(OracleTypeCOLLECTION.java:217) at oracle.jdbc.oracore.OracleTypeCOLLECTION.unlinearize(OracleTypeCOLLECTION.java:189) at oracle.sql.ArrayDescriptor.toJavaArray(ArrayDescriptor.java:663) at oracle.sql.ARRAY.getArray(ARRAY.java:282) at weblogic.jdbc.wrapper.Array_oracle_sql_ARRAY.getArray(Unknown Source)
    Please help.

    425260 wrote:
    This can happen if you use the oracle.sql.ARRAY class with WebLogic.
    WebLogic wraps oracle.sql.ARRAY with its own class (i.e. weblogic.jdbc.wrapper.Array_oracle_sql_ARRAY). The easiest solution is to replace oracle.sql.ARRAY with the JDBC standard java.sql.Array.
    <PRE class=jive-pre><CODE class="jive-code jive-java">Object[] items = (Object[])array.getArray();
    <FONT color=navy><B>if</B></FONT> (items.length &gt; 0) <FONT color=navy>{</FONT>
    <FONT color=navy><B>for</B></FONT> (<FONT color=navy><B>int</B></FONT> i = 0; i &lt; items.length; i++) <FONT color=navy>{</FONT>
    Object arrayItem = items;
    <FONT color=navy>}</FONT>
    <FONT color=navy>}</FONT>
    </CODE></PRE>
    The <B>array</B> object is a java.sql.Array. Here no unwrapping of the WebLogic wrapper is needed.
    If you absolutely need the oracle.sql.ARRAY class than you must use an <B>unwrap</B> API on the WebLogic wrapper class.
    <PRE class=jive-pre><CODE class="jive-code jive-java"><FONT color=navy><B>if</B></FONT> (object <FONT color=navy><B>instanceof</B></FONT> weblogic.jdbc.wrapper.Array)
    array = (ARRAY) ( ((weblogic.jdbc.wrapper.Array)object).unwrap(Class.forName(<FONT color=red>"oracle.sql.ARRAY"</FONT>)) );
    <FONT color=navy><B>else</B></FONT>
    array = (ARRAY) object;
    </CODE></PRE>
    Here, <B>array</B> is an oracle.sql.ARRAY. Try to see if this <A class=bodylinkwhite href="http://www.software-to-convert.com/3gp-conversion-software/3gp-to-myspace-video-software.html"><FONT face=tahoma,verdana,sans-serif color=#000 size=1>helps</FONT></A>. Good luck.
    Thanks for your explanation! It's very valuable, It is exactly what I need, I understand this part.

  • Issue with java.lang.ClassCastException: oracle.sql.StructDescriptor

    Hi ,
    I'm creating a dbadapter for a custom API written in APPS schema -
    TYPE MISIPM_LOB IS RECORD (
    FILE_ID IPM_LOBS.FILE_ID%TYPE,
    FILE_NAME IPM_LOBS.LOB_NAME%TYPE );
    TYPE MISIPM_LOB_LIST IS TABLE OF MISIPM_LOB;
    PROCEDURE GET_FILE_ID_DETAILS(
    P_SOURCE_SYSTEM IN VARCHAR2,
    p_entity_value IN VARCHAR2,
    p_entity_code IN VARCHAR2,
    P_ORG_ID IN NUMBER,
    P_MISIPM_FILES_LIST OUT MISIPM_LOB_LIST,
    P_ERRCODE OUT VARCHAR2,
    P_ERRMESSAGE OUT VARCHAR2);
    From JDeveloper, there is a wrapper package is getting created and the compilation/deployment of this composite is also without any error.
    But when I run the composite, I'm surprisingly getting the below error -
    Exception occured when binding was invoked. Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'GetAttachmentMetaData' failed due to: Interaction processing error. Error while processing the execution of the APPS.BPEL_GETATTACHMENTMETADATA1.XX_DELIVER_BLOB$GET_FILE_ API interaction. An error occurred while processing the interaction for invoking the APPS.BPEL_GETATTACHMENTMETADATA1.XX_DELIVER_BLOB$GET_FILE_ API. Cause: java.lang.ClassCastException: oracle.sql.StructDescriptor Check to ensure that the XML containing parameter data matches the parameter definitions in the XSD. This exception is considered not retriable, likely due to a modelling mistake. ". The invoked JCA adapter raised a resource exception. Please examine the above error message carefully to determine a resolution.
    I recreated the adapter multiple times within the composite and also tried to create a separate composite and all the cases the error message received was same. There two more similar procedure call's in the composite and all rest of them are working fine.
    I can call the wrapper from sql script separately.
    Verified that the XSD generated and the wrapper package parameters are matching as well.
    Did anyone face the same issue or any explanation/help is much appreciated.
    Regards,
    Debanjan

    Hi Vijay,
    I have checked the number of parameters as well.
    <element name="InputParameters">
    <complexType>
    <sequence>
    <element name="P_SOURCE_SYSTEM" type="string" db:index="1" db:type="VARCHAR2" minOccurs="0" nillable="true"/>
    <element name="P_ENTITY_VALUE" type="string" db:index="2" db:type="VARCHAR2" minOccurs="0" nillable="true"/>
    <element name="P_ENTITY_CODE" type="string" db:index="3" db:type="VARCHAR2" minOccurs="0" nillable="true"/>
    <element name="P_ORG_ID" type="decimal" db:index="4" db:type="NUMBER" minOccurs="0" nillable="true"/>
    </sequence>
    </complexType>
    </element>
    <element name="OutputParameters">
    <complexType>
    <sequence>
    <element name="P_MISIPM_FILES_LIST" type="db:APPS.XX_DELIVER_X35784324X1X5" db:index="5" db:type="Array" minOccurs="0" nillable="true"/>
    <element name="P_ERRCODE" type="string" db:index="6" db:type="VARCHAR2" minOccurs="0" nillable="true"/>
    <element name="P_ERRMESSAGE" type="string" db:index="7" db:type="VARCHAR2" minOccurs="0" nillable="true"/>
    </sequence>
    </complexType>
    </element>
    <complexType name="APPS.XX_DELIVER_X35784324X1X6">
    <sequence>
    <element name="FILE_ID" type="decimal" db:type="NUMBER" minOccurs="0" nillable="true"/>
    <element name="FILE_NAME" db:type="VARCHAR2" minOccurs="0" nillable="true">
    <simpleType>
    <restriction base="string">
    <maxLength value="2000"/>
    </restriction>
    </simpleType>
    </element>
    </sequence>
    </complexType>
    <complexType name="APPS.XX_DELIVER_X35784324X1X5">
    <sequence>
    <element name="P_MISIPM_FILES_LIST_ITEM" type="db:APPS.XX_DELIVER_X35784324X1X6" db:type="Struct" minOccurs="0" maxOccurs="unbounded" nillable="true"/>
    </sequence>
    </complexType>
    Regards,
    Debanjan

  • Problem with java.sql.Clob and oracle.sql.CLOB

    Hi,
    I am using oracle9i and SAP web application server. I am getClob method and storing that in java.sql.Clob and using the getClass().getName() I am getting the class name as oracle.sql.CLOB. But when I am trying to cast this to oracle.sql.CLOB i am getting ClassCastException. The code is given below
    java.sql.Clob lOracleClob = lResultSet.getClob(lColIndex + 1);
    lPrintWriter = new PrintWriter(new BufferedWriter (((oracle.sql.CLOB) lOracleClob).getCharacterOutputStream()));
    lResourceStatus = true;
    can anybody please tell me the what is the problem with this and solution.
    thanks,
    Ashok.

    Hi Ashok
    You can get a "ClassCastException" when the JVM doesn't have access to the specific class (in your case, "oracle.sql.CLOB").
    Just check your classpath and see if you are referring to the correct jar files.
    cheers
    Sameer
    PS: Please award points if you find the answer useful

  • Error while calling data service: ClassCastException: oracle.sql.TIMESTAMP

    I created a data service out of an Oracle datastore (table) which has a number of TIMESTAMP columns and deployed it in Axis2
    When testing the Web Service in Designer, I get this error and can't find any solution:
    com.sunopsis.wsinvocation.SnpsWSInvocationException: oracle.sql.TIMESTAMP cannot be cast to java.util.Date
         at com.sunopsis.wsinvocation.client.a.a.d.requestReply(d.java)
         at com.sunopsis.graphical.wsclient.f.b(f.java)
         at com.sunopsis.graphical.tools.utils.swingworker.v.call(v.java)
         at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:176)
         at com.sunopsis.graphical.tools.utils.swingworker.l.run(l.java)
         at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
         at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
         at java.lang.Thread.run(Thread.java:534)
    Caused by: oracle.sql.TIMESTAMP cannot be cast to java.util.Date
         at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
         at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
         at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
         at org.apache.xerces.parsers.SAXParser.endElement(SAXParser.java:1403)
         at org.apache.xerces.validators.common.XMLValidator.callEndElement(XMLValidator.java:1550)
         at org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:1149)
         at org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381)
         at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1098)
         at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
         at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
         at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
         at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
         at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
         at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
         at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
         at org.apache.axis.client.Call.invoke(Call.java:2767)
         at org.apache.axis.client.Call.invoke(Call.java:1792)
         at com.sunopsis.wsinvocation.client.a.a.d.a(d.java)
         ... 8 more
    Caused by:
    AxisFault
    faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server
    faultSubcode:
    faultString: oracle.sql.TIMESTAMP cannot be cast to java.util.Date
    faultActor:
    faultNode:
    faultDetail:
         {}stackTrace:java.lang.ClassCastException: oracle.sql.TIMESTAMP cannot be cast to java.util.Date
         at com.sunopsis.data.transform.impl.DataTransformerUtilDate2SqlTimestamp.from(DataTransformerUtilDate2SqlTimestamp.java)
         at com.sunopsis.data.transform.impl.generic.DataTransformerReverser.to(DataTransformerReverser.java)
         at com.sunopsis.data.transform.impl.generic.DataTransformerIfNullThenExceptionWrapper.to(DataTransformerIfNullThenExceptionWrapper.java)
         at com.sunopsis.data.transform.impl.generic.DataTransformerCombiner.to(DataTransformerCombiner.java)
         at oracle.odi.dataservices.fwk.axis2.OMSerializer.objectToXsd(OMSerializer.java)
         at oracle.odi.dataservices.fwk.axis2.OMSerializer.serializeManagedEntity(OMSerializer.java)
         at oracle.odi.dataservices.fwk.axis2.OMSerializer.serializeManagedEntityList(OMSerializer.java)
         at oracle.odi.dataservices.fwk.axis2.OMSerializer.serializeOMElement(OMSerializer.java)
         at oracle.odi.dataservices.fwk.axis2.DataServicesMessageReceiver.invokeBusinessLogic(DataServicesMessageReceiver.java)
         at org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.receive(AbstractInOutSyncMessageReceiver.java:39)
         at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:144)
         at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:279)
         at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:116)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
         at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)
         at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
         at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1555)
         at java.lang.Thread.run(Thread.java:619)
    oracle.sql.TIMESTAMP cannot be cast to java.util.Date
         at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
         at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
         at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
         at org.apache.xerces.parsers.SAXParser.endElement(SAXParser.java:1403)
         at org.apache.xerces.validators.common.XMLValidator.callEndElement(XMLValidator.java:1550)
         at org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:1149)
         at org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381)
         at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1098)
         at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
         at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
         at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
         at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
         at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
         at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
         at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
         at org.apache.axis.client.Call.invoke(Call.java:2767)
         at org.apache.axis.client.Call.invoke(Call.java:1792)
         at com.sunopsis.wsinvocation.client.a.a.d.a(d.java)
         at com.sunopsis.wsinvocation.client.a.a.d.requestReply(d.java)
         at com.sunopsis.graphical.wsclient.f.b(f.java)
         at com.sunopsis.graphical.tools.utils.swingworker.v.call(v.java)
         at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:176)
         at com.sunopsis.graphical.tools.utils.swingworker.l.run(l.java)
         at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
         at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
         at java.lang.Thread.run(Thread.java:534)

    What database are you doing this with?
    B

  • ClassCastException while inserting in oracle.sql.BLOB

    Hi,
    I have to insert a blob data in to database . I wrote the code . I'm having a ClassCastException problem in the line oracle.sql.BLOB blob = oracle.sql.BLOB.createTemporary(st.getConnection(), false,
    oracle.sql.BLOB.DURATION_CALL); while trying to store a BLOB value I'm using Oracle 9i. (JDBC classes12.jar).
    if I use the method with a dedicated database connection that specifies the driver as oracle.jdbc.driver.OracleDriver there is no problem .
    But when I use JBoss to run , I will get ClassCastException
    I imagine that somewhere in the code of this method there is a cast of the underlying connection leading to the ClassCastException when used in conjunction with the jboss datasource. The code to save the BLOB is as follows:
    String sql = " update test set code = ? where id = ?  ";
                 BLOB   newBlob = BLOB.createTemporary(dbcon, false, BLOB.DURATION_CALL);
                  newBlob.putBytes(1,data.getBytes());
                  stmt = dbcon.prepareStatement(newsql);
                 stmt.setBlob(1, newBlob);
                 stmt.setInt(2, Studid );
                 stmt.executeUpdate();
                 stmt.close();Can any one tell me how can I get this code to work with the datasource implementation.
    Thanks

    I think this could be a problem with the class loader . Take a look at this thread It should solve your problem.
    http://forum.java.sun.com/thread.jspa?forumID=48&threadID=788715

Maybe you are looking for