Internal Exception: java.sql.SQLException: Closed ConnectionError Code: 170

I have the following situation:
When accidentaly toplink loose connection with database server for short time and request coming from client in the same time toplink close connection with database server and generate the following exception:
Exception [TOPLINK-4002] (Oracle TopLink - 10g Developer Preview 3 (10.1.3.0 ) (Build 041116)): oracle.toplink.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: Closed ConnectionError Code: 17008
     at oracle.toplink.exceptions.DatabaseException.sqlException(DatabaseException.java:272)
Problem is because toplink does not renew the connection with database server. Anybody know how to resolve this situation ?
Mention:
Application is build around toplink server session that serve client giving them clientsession and unitofwork.

Hi
I am getting this exception randomly, I want my application to be flexible. I am using Glassfish V2.1.1, Toplink Essentials, Windows linux, Oracle 11g database.
Below is the stacktrace :
Local Exception Stack:
Exception [TOPLINK-4002] (Oracle TopLink Essentials - 2.1 (Build b31g-fcs (10/19/2009))): oracle.toplink.essentials.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: Closed Connection
Error Code: 17008
Call: SELECT t0.CRITICALITY, t0.USER_TAG_IDENT, t0.SEGMENT_GROUP_YN, t0.NAME, t0.GMT_LAST_UPDATED, t0.LONG_DESCRIPTION, t0.CS_TYPE_DB_SITE, t0.CS_TYPE_DB_ID, t0.CS_TYPE_CODE, t0.SEGMENT_SITE, t0.SEGMENT_ID, t0.RSTAT_TYPE_CODE, t0.LAST_UPD_DB_SITE, t0.LAST_UPD_DB_ID, t0.SG_DB_SITE, t0.SG_DB_ID, t0.SG_TYPE_CODE FROM SEGMENT t0, ROW_STATUS_TYPE t2, SEGMENT_TYPE t1 WHERE ((((t0.SEGMENT_ID NOT IN (SELECT t3.CHILD_SG_ID FROM SEGMENT_CHILD t3 WHERE (t3.SEGMENT_SITE = ?)) AND (t0.SEGMENT_SITE = ?)) AND (t1.SG_TYPE_CODE = ?)) AND (t2.RSTAT_TYPE_COD = ?)) AND (((t1.SG_DB_SITE = t0.SG_DB_SITE) AND ((t1.SG_DB_ID = t0.SG_DB_ID) AND (t1.SG_TYPE_CODE = t0.SG_TYPE_CODE))) AND (t2.RSTAT_TYPE_COD = t0.RSTAT_TYPE_CODE))) ORDER BY t0.USER_TAG_IDENT ASC
     bind => [0000000100000001, 0000000100000001, 9, 1]
Query: ReportQuery(com.esrg.jpa.Segment)
     at oracle.toplink.essentials.exceptions.DatabaseException.sqlException(DatabaseException.java:319)
     at oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:566)
     at oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:452)
     at oracle.toplink.essentials.threetier.ServerSession.executeCall(ServerSession.java:473)
     at oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:228)
     at oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:214)
     at oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism.executeSelectCall(DatasourceCallQueryMechanism.java:285)
     at oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism.selectAllRows(DatasourceCallQueryMechanism.java:615)
     at oracle.toplink.essentials.internal.queryframework.ExpressionQueryMechanism.selectAllRowsFromTable(ExpressionQueryMechanism.java:2416)
     at oracle.toplink.essentials.internal.queryframework.ExpressionQueryMechanism.selectAllReportQueryRows(ExpressionQueryMechanism.java:2382)
     at oracle.toplink.essentials.queryframework.ReportQuery.executeDatabaseQuery(ReportQuery.java:802)
     at oracle.toplink.essentials.queryframework.DatabaseQuery.execute(DatabaseQuery.java:628)
     at oracle.toplink.essentials.queryframework.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:692)
     at oracle.toplink.essentials.queryframework.ObjectLevelReadQuery.executeInUnitOfWork(ObjectLevelReadQuery.java:746)
     at oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2244)
     at oracle.toplink.essentials.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:952)
     at oracle.toplink.essentials.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:924)
     at oracle.toplink.essentials.internal.ejb.cmp3.base.EJBQueryImpl.executeReadQuery(EJBQueryImpl.java:367)
     at oracle.toplink.essentials.internal.ejb.cmp3.base.EJBQueryImpl.getResultList(EJBQueryImpl.java:478)
     at com.sun.enterprise.util.QueryWrapper.getResultList(QueryWrapper.java:196)
     at com.esrgtech.erm.viewer.segment.eRMViewerSegmentBean.findSystem(eRMViewerSegmentBean.java:537)
     at com.esrgtech.erm.viewer.segment.eRMViewerSegmentBean.getTree(eRMViewerSegmentBean.java:131)
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
     at java.lang.reflect.Method.invoke(Method.java:597)
     at com.sun.enterprise.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1011)
     at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:175)
     at com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod(BaseContainer.java:2929)
     at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4020)
     at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:197)
     at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:127)
     at $Proxy60.getTree(Unknown Source)
     at com.esrgtech.erm.DataViewerSession.getTree(DataViewerSession.java:237)
     at com.esrgtech.erm.ui.dashboard.DashboardLeft.buildTree(DashboardLeft.java:88)
     at com.esrgtech.erm.ui.dashboard.DashboardLeft.<init>(DashboardLeft.java:48)
     at com.esrgtech.erm.ui.dashboard.Dashboard.createLeftContent(Dashboard.java:55)
     at com.esrgtech.erm.ui.base.WebPageTwoColLeft180.buildPage(WebPageTwoColLeft180.java:58)
     at com.esrgtech.erm.ui.dashboard.Dashboard.<init>(Dashboard.java:34)
     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
     at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
     at org.apache.wicket.session.DefaultPageFactory.createPage(DefaultPageFactory.java:192)
     at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:57)
     at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:81)
     at com.esrgtech.erm.ui.signin.SignInPanel.onSignInSucceeded(SignInPanel.java:236)
     at com.esrgtech.erm.ui.signin.SignInPanel$SignInForm.onSubmit(SignInPanel.java:116)
     at org.apache.wicket.markup.html.form.Form.delegateSubmit(Form.java:1536)
     at org.apache.wicket.markup.html.form.Form.process(Form.java:925)
     at org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:887)
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
     at java.lang.reflect.Method.invoke(Method.java:597)
     at org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:182)
     at org.apache.wicket.request.target.component.listener.ListenerInterfaceRequestTarget.processEvents(ListenerInterfaceRequestTarget.java:73)
     at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:92)
     at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1250)
     at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329)
     at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1428)
     at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
     at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:479)
     at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:312)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:313)
     at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:287)
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:218)
     at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
     at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
     at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
     at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98)
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:222)
     at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
     at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
     at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
     at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:166)
     at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
     at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
     at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
     at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)
     at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:291)
     at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:666)
     at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:597)
     at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:872)
     at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
     at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
     at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
     at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:264)
     at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
Caused by: java.sql.SQLException: Closed Connection
     at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
     at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
     at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)
     at oracle.jdbc.driver.PhysicalConnection.prepareStatement(PhysicalConnection.java:840)
     at oracle.jdbc.driver.PhysicalConnection.prepareStatement(PhysicalConnection.java:759)
     at com.sun.gjc.spi.base.ConnectionHolder.prepareStatement(ConnectionHolder.java:475)
     at oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.prepareStatement(DatabaseAccessor.java:1162)
     at oracle.toplink.essentials.internal.databaseaccess.DatabaseCall.prepareStatement(DatabaseCall.java:612)
     at oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:485)
     ... 90 more
Need Help.....

Similar Messages

  • Regarding Internal Exception: java.sql.SQLException

    While deploying the application we are encounter a following error,
    Internal Exception: java.sql.SQLException: Error in allocating a connection. Cause: Connection could not be allocated because: FATAL: sorry, too many clients already
    Error Code: 0
    Deployment error:
    Please give me a suggession for this error.
    Thanks,

    While deploying the application we are encounter a following error,
    Internal Exception: java.sql.SQLException: Error in allocating a connection. Cause: Connection could not be allocated because: FATAL: sorry, too many clients already
    Error Code: 0
    Deployment error:
    Please give me a suggession for this error.
    Thanks,

  • Java.sql.SQLException: Exhausted ResultsetError Code: 17011

    Hello,
    I have a class that is mapped to one table with all properties mapped directly to fields. Sometimes during execution of a named query that uses 2 date parameters for the given date range and returns about 1000 records, it fails with
    Internal Exception: java.sql.SQLException: Exhausted ResultsetError Code: 17011:
    Can anybody suggest the reason ?
    Thank you
    Call:SELECT MQQ_QUOTE_REF_NUMBER, MMR_MARITAL3, MMR_MSF4, MMR_GENDER4, MMR_DOB1, MMR_CC1, MMR_DOB3, MMR_MARITAL2, MMR_MAKE3, MMR_MSF1, MMR_MARITAL4, MMR_YEAR4, MMR_ORGM, MMR_ZIP, MMR_MAKE4, MMR_MAKE1, MMR_MSF2, MQQ_DATE_QUOTED, MMR_CC2, MMR_GENDER2, MMR_GENDER1, MMR_CC4, MMR_DOB4, MMR_YEAR2, MMR_MODEL2, MMR_YEAR3, MMR_MODEL1, MMR_MARITAL1, MMR_MSF3, MMR_ALLST, MMR_YEAR1, MMR_MODEL4, MMR_MODEL3, MMR_CC3, MMR_GENDER3, MQQ_PREMIUM_QUOTED, MMR_DOB2, MMR_MAKE2 FROM MRE_MQQ_REPORT WHERE ((MQQ_DATE_QUOTED >= {ts '2007-04-16 00:00:00.0'}) AND (MQQ_DATE_QUOTED < {ts '2007-04-23 00:00:00.0'}))
    Query:ReadAllQuery(com.allstate.mqq.stat.model.toplink.MreMqqReport)
    SEVERE: oracle.toplink.exceptions.DatabaseException.sqlException(DatabaseException.java:282)
    SEVERE: oracle.toplink.internal.databaseaccess.DatabaseAccessor.getObject(DatabaseAccessor.java:979)
    SEVERE: oracle.toplink.internal.databaseaccess.DatabaseAccessor.fetchRow(DatabaseAccessor.java:771)
    SEVERE: oracle.toplink.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:553)
    SEVERE: oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:441)
    SEVERE: oracle.toplink.threetier.ServerSession.executeCall(ServerSession.java:457)
    SEVERE: oracle.toplink.internal.queryframework.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:117)SEVERE: oracle.toplink.internal.queryframework.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:103)SEVERE: oracle.toplink.internal.queryframework.DatasourceCallQueryMechanism.executeSelectCall(DatasourceCallQueryMechanism.java:174)SEVERE: oracle.toplink.internal.queryframework.DatasourceCallQueryMechanism.selectAllRows(DatasourceCallQueryMechanism.java:481)SEVERE: oracle.toplink.internal.queryframework.ExpressionQueryMechanism.selectAllRowsFromTable(ExpressionQueryMechanism.java:825)SEVERE:oracle.toplink.internal.queryframework.ExpressionQueryMechanism.selectAllRows(ExpressionQueryMechanism.java:803)SEVERE: oracle.toplink.queryframework.ReadAllQuery.executeObjectLevelReadQuery(ReadAllQuery.java:473)
    SEVERE: oracle.toplink.queryframework.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:811)
    SEVERE: oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:620)
    SEVERE: oracle.toplink.queryframework.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:779)
    SEVERE: oracle.toplink.queryframework.ReadAllQuery.execute(ReadAllQuery.java:451)
    SEVERE: oracle.toplink.publicinterface.Session.internalExecuteQuery(Session.java:2073)
    SEVERE: oracle.toplink.tools.profiler.PerformanceProfiler.profileExecutionOfQuery(PerformanceProfiler.java:410)
    SEVERE: oracle.toplink.publicinterface.Session.executeQuery(Session.java:986)
    SEVERE: oracle.toplink.publicinterface.Session.executeQuery(Session.java:960)
    SEVERE: oracle.toplink.publicinterface.Session.executeQuery(Session.java:873)
    SEVERE: oracle.toplink.publicinterface.Session.executeQuery(Session.java:833)
    SEVERE: com.allstate.mqq.stat.model.MqqReportFacadeBean.getSalesReport(MqqReportFacadeBean.java:199)
    SEVERE: com.allstate.mqq.stat.model.MqqReportFacadeBean.emailWeeklySalesReport(MqqReportFacadeBean.java:282)
    SEVERE: com.allstate.mqq.stat.model.ReportTimerBean.ejbTimeout(ReportTimerBean.java:90)
    SEVERE: com.evermind.server.ejb.interceptor.joinpoint.EJBTimeoutJoinPoint.invoke(EJBTimeoutJoinPoint.java:20)
    SEVERE: com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:69)
    SEVERE: com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    SEVERE: com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:69)
    SEVERE:com.evermind.server.ejb.interceptor.system.SetContextActionInterceptor.invoke(SetContextActionInterceptor.java:34)SEVERE: com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:69)
    SEVERE: com.evermind.server.ejb.interceptor.system.TxNotSupportedInterceptor.invoke(TxNotSupportedInterceptor.java:43)
    SEVERE: com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:69)
    SEVERE: com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:86)
    SEVERE: com.evermind.server.ejb.StatelessSessionEJBHome.invokeTimer(StatelessSessionEJBHome.java:71)

    Hi John Arun:
    What to do if you have integers insted in SQL Query as:
    Do I still have to have single quote as shown below...?
    ResultSet rset = stmt.executeQuery("select * from emp where empno='" + mynum + "'");
    if (rset.next())
    // perform some html that shows the data;
    else
    // perform some other html when there is no data;
    Kindly clarify

  • Exception: java.sql.SQLException: ORA-00904: "SEQ_NAME": invalid identifier

    Hi everyone,
    we are facing the below issue when trying to schedule a BI report.
    Error Details:
    +oracle.apps.xdo.servlet.scheduler.ProcessingException: Exception [TOPLINK-4002] (Oracle TopLink - 11g Release 1 (11.1.1.0.0) (Build 080319)): oracle.toplink.exceptions.DatabaseException+
    Internal Exception: java.sql.SQLException: ORA-00904: "SEQ_NAME": invalid identifier
    Error Code: 904
    Call: UPDATE SEQUENCE SET SEQ_COUNT = SEQ_COUNT 50 WHERE SEQ_NAME = 'JOB_ID_SEQ'+
    Query: DataModifyQuery()
    +     at oracle.apps.xdo.servlet.scheduler.toplink.ToplinkDataHandler.insertJob(ToplinkDataHandler.java:830)+
    +     at oracle.apps.xdo.servlet.ui.scheduler.SchedulerServlet.scheduleJob(SchedulerServlet.java:1896)+
    +     at oracle.apps.xdo.servlet.ui.scheduler.SchedulerServlet.doPost(SchedulerServlet.java:293)+
    +     at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)+
    +     at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)+
    +     at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)+
    +     at oracle.apps.xdo.servlet.security.SecurityFilter.doFilter(SecurityFilter.java:94)+
    +     at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:621)+
    +     at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:368)+
    +     at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:866)+
    +     at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:448)+
    +     at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:216)+
    +     at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:117)+
    +     at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:110)+
    +     at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)+
    +     at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)+
    +     at java.lang.Thread.run(Thread.java:595)+
    +Caused by: Exception [TOPLINK-4002] (Oracle TopLink - 11g Release 1 (11.1.1.0.0) (Build 080319)): oracle.toplink.exceptions.DatabaseException+
    Internal Exception: java.sql.SQLException: ORA-00904: "SEQ_NAME": invalid identifier
    Error Code: 904
    Call: UPDATE SEQUENCE SET SEQ_COUNT = SEQ_COUNT 50 WHERE SEQ_NAME = 'JOB_ID_SEQ'+
    Query: DataModifyQuery()
    +     at oracle.toplink.exceptions.DatabaseException.sqlException(DatabaseException.java:296)+
    +     at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect(DatabaseAccessor.java:724)+
    +     at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeNoSelect(DatabaseAccessor.java:790)+
    +     at oracle.toplink.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:524)+
    +     at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:467)+
    +     at oracle.toplink.internal.sessions.AbstractSession.executeCall(AbstractSession.java:795)+
    +     at oracle.toplink.internal.queryframework.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:193)+
    +     at oracle.toplink.internal.queryframework.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:179)+
    +     at oracle.toplink.internal.queryframework.DatasourceCallQueryMechanism.executeNoSelectCall(DatasourceCallQueryMechanism.java:222)+
    +     at oracle.toplink.internal.queryframework.DatasourceCallQueryMechanism.executeNoSelect(DatasourceCallQueryMechanism.java:202)+
    +     at oracle.toplink.queryframework.DataModifyQuery.executeDatabaseQuery(DataModifyQuery.java:55)+
    +     at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:671)+
    +     at oracle.toplink.internal.sessions.AbstractSession.internalExecuteQuery(AbstractSession.java:2260)+
    +     at oracle.toplink.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1074)+
    +     at oracle.toplink.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1058)+
    +     at oracle.toplink.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1032)+
    +     at oracle.toplink.sequencing.QuerySequence.update(QuerySequence.java:319)+
    +     at oracle.toplink.sequencing.QuerySequence.updateAndSelectSequence(QuerySequence.java:258)+
    +     at oracle.toplink.sequencing.StandardSequence.getGeneratedVector(StandardSequence.java:62)+
    +     at oracle.toplink.sequencing.DefaultSequence.getGeneratedVector(DefaultSequence.java:144)+
    +     at oracle.toplink.sequencing.Sequence.getGeneratedVector(Sequence.java:256)+
    +     at oracle.toplink.internal.sequencing.SequencingManager$Preallocation_Transaction_NoAccessor_State.getNextValue(SequencingManager.java:444)+
    +     at oracle.toplink.internal.sequencing.SequencingManager.getNextValue(SequencingManager.java:873)+
    +     at oracle.toplink.internal.sequencing.ClientSessionSequencing.getNextValue(ClientSessionSequencing.java:75)+
    +     at oracle.toplink.internal.descriptors.ObjectBuilder.assignSequenceNumber(ObjectBuilder.java:234)+
    +     at oracle.toplink.internal.sessions.UnitOfWorkImpl.assignSequenceNumbers(UnitOfWorkImpl.java:419)+
    +     at oracle.toplink.internal.sessions.UnitOfWorkImpl.calculateChanges(UnitOfWorkImpl.java:497)+
    +     at oracle.toplink.internal.sessions.UnitOfWorkImpl.commitToDatabaseWithChangeSet(UnitOfWorkImpl.java:1407)+
    +     at oracle.toplink.internal.sessions.UnitOfWorkImpl.commitRootUnitOfWork(UnitOfWorkImpl.java:1167)+
    +     at oracle.toplink.internal.sessions.UnitOfWorkImpl.commit(UnitOfWorkImpl.java:939)+
    +     at oracle.apps.xdo.servlet.scheduler.toplink.ToplinkDataHandler.insertJob(ToplinkDataHandler.java:815)+
    +     ... 16 more+
    Caused by: java.sql.SQLException: ORA-00904: "SEQ_NAME": invalid identifier
    +     at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:138)+
    +     at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:316)+
    +     at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:282)+
    +     at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:639)+
    +     at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:113)+
    +     at oracle.jdbc.driver.T4CStatement.execute_for_rows(T4CStatement.java:561)+
    +     at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1161)+
    +     at oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java:1585)+
    +     at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect(DatabaseAccessor.java:713)+
    +     ... 45 more+
    Found a thread related to this but there it was explained that the error was occuring when trying to notify regarding output through email. In our case, issue is occuring just during scheduling itslef.
    Also I haved checked the following schedular tables in my database.
    SQL> select table_name from all_tables where table_name like 'S_NQ%'
    +2 /+
    TABLE_NAME
    S_NQ_ERR_MSG
    S_NQ_INSTANCE
    S_NQ_JOB_PARAM
    S_NQ_JOB
    SQL> select SEQ_NAME.CURRVAL FROM DUAL;
    select SEQ_NAME.CURRVAL FROM DUAL
    *+
    ERROR at line 1:
    ORA-02289: sequence does not exist
    Please help me out in solving this as I have tried almost all possible solutions.
    Thanks,
    Sri Harsha.
    Edited by: user10545574 on Dec 20, 2009 10:24 PM

    Hello,
    In the delivery email configuration server page (under BI Publisher Admin Tab), the username / password to enter is the one defined on the email server itself. It is the user that will be user to send the emails when scedhuling a report.
    It may not be Administrator/ Administrator (not a user defined with OBI admin tool) but the username/password defined on the email server itself.
    Moreover, to properly configure the BI Publisher Scheduler, it is a prerequistes to create bipsched user on Oracle DB and install the schema tables in Oracle DB (by clicking on Install Schema button after defining database connection under Admin / Scheduler Configuration tab)
    From the error your are getting 'SEQ_NAME unknown..., it appears that the tables are not created'.
    Hope this helps and good luck
    Matthieu

  • Java.sql.SQLException: Closed Connection

    Hello
    I am getting a java.sql.SQLException: Closed Connection with a simple SELECT query. This seems to be happening if i leave a session time out on a browser window. After i log on again and try to access a page which calls this simple SELECT query im getting this:
    java.sql.SQLException: Closed Connection
    <Error><JTA><BEA-110412><Name=[EJB com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke<com.bea.wlw.runitme.core.request.Request>], Xid=.....Status=Rolled back.[Reason=weblogic.transaction.internal.AppSetRollbackOnlyException],HeuristicErrorCode=XA_HEURHAZ......
    I need to shutdown and startup WebLogic to get my SELECT query running again in such a situation.
    HELP PLEASE, any suggestions?
    thanks lots
    rina

    Hello
    Please note that i am using pageflows and my select query is in a .jcx file. Here is the full stack trace:
    <29-May-2007 14:58:28 o'clock BST> <Warning> <WLW> <BTG005273> <portalServer> <ExecuteThread: '14' for queue: 'default'> <admin> <BEA1-0082B1D46822545AA9E0> <000000> <Id=top-level; Method=portlets.Admin.ManagedMobile.CreateUser.Uup_Usercontext.getCusPneumonics(); Failure=java.sql.SQLException: Closed Connection [ServiceException]>
    ####<29-May-2007 14:58:28 o'clock BST> <Error> <JTA> <BTG005273> <portalServer> <ExecuteThread: '14' for queue: 'default'> <admin> <BEA1-0082B1D46822545AA9E0> <BEA-110412> <Name=[EJB com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(com.bea.wlw.runtime.core.request.Request)],Xid=BEA1-0082B1D46822545AA9E0(42197291),Status=Rolled back. [Reason=weblogic.transaction.internal.AppSetRollbackOnlyException],HeuristicErrorCode=XA_HEURHAZ,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=0,seconds left=60,activeThread=Thread[ExecuteThread: '14' for queue: 'default',5,Thread Group for Queue: 'default'],XAServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(ServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(state=rolledback,assigned=portalServer),xar=weblogic.jdbc.wrapper.JTSXAResourceImpl@283f1b9,re-Registered = false),SCInfo[TestPortal+portalServer]=(state=rolledback),properties=({weblogic.transaction.name=[EJB com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(com.bea.wlw.runtime.core.request.Request)], weblogic.jdbc=t3://10.235.102.63:7001}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=portalServer+10.235.102.63:7001+TestPortal+t3+, XAResources={},NonXAResources={})],CoordinatorURL=portalServer+10.235.102.63:7001+TestPortal+t3+) completed heuristically: (weblogic.jdbc.wrapper.JTSXAResourceImpl, HeuristicHazard, (javax.transaction.xa.XAException: Closed Connection)) >
    ####<29-May-2007 14:58:28 o'clock BST> <Error> <EJB> <BTG005273> <portalServer> <ExecuteThread: '14' for queue: 'default'> <admin> <> <BEA-010025> <Exception occurred during rollback of transaction Name=[EJB com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(com.bea.wlw.runtime.core.request.Request)],Xid=BEA1-0082B1D46822545AA9E0(42197291),Status=Rolled back. [Reason=weblogic.transaction.internal.AppSetRollbackOnlyException],HeuristicErrorCode=XA_HEURHAZ,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=0,seconds left=60,XAServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(ServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(state=rolledback,assigned=portalServer),xar=weblogic.jdbc.wrapper.JTSXAResourceImpl@283f1b9,re-Registered = false),SCInfo[TestPortal+portalServer]=(state=rolledback),properties=({weblogic.transaction.name=[EJB com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(com.bea.wlw.runtime.core.request.Request)], weblogic.jdbc=t3://10.235.102.63:7001}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=portalServer+10.235.102.63:7001+TestPortal+t3+, XAResources={},NonXAResources={})],CoordinatorURL=portalServer+10.235.102.63:7001+TestPortal+t3+): javax.transaction.SystemException: Heuristic hazard: (weblogic.jdbc.wrapper.JTSXAResourceImpl, HeuristicHazard, (javax.transaction.xa.XAException: Closed Connection))
         at weblogic.transaction.internal.ServerTransactionImpl.internalRollback()V(ServerTransactionImpl.java:396)
         at weblogic.transaction.internal.ServerTransactionImpl.rollback()V(ServerTransactionImpl.java:362)
         at weblogic.ejb20.internal.BaseEJBObject.postInvoke(Lweblogic.ejb20.internal.InvocationWrapper;Ljava.lang.Throwable;)V(BaseEJBObject.java:279)
         at weblogic.ejb20.internal.StatelessEJBObject.postInvoke(Lweblogic.ejb20.internal.InvocationWrapper;Ljava.lang.Throwable;)V(StatelessEJBObject.java:140)
         at com.bea.wlw.runtime.core.bean.SyncDispatcher_k1mrl8_EOImpl.invoke(Lcom.bea.wlw.runtime.core.request.Request;)Lcom.bea.wlw.runtime.core.request.Response;(SyncDispatcher_k1mrl8_EOImpl.java:110)
         at com.bea.wlw.runtime.core.dispatcher.Dispatcher.remoteDispatch(Lcom.bea.wlw.runtime.core.dispatcher.DispFile;Lcom.bea.wlw.runtime.core.request.Request;)Lcom.bea.wlw.runtime.core.request.Response;(Dispatcher.java:161)
         at com.bea.wlw.runtime.core.dispatcher.ServiceHandleImpl.invoke(Lcom.bea.wlw.runtime.core.request.Request;)Ljava.lang.Object;(ServiceHandleImpl.java:436)
         at com.bea.wlw.runtime.core.dispatcher.WlwProxyImpl._invoke(Lcom.bea.wlw.runtime.core.request.ExecRequest;)Ljava.lang.Object;(WlwProxyImpl.java:326)
         at com.bea.wlw.runtime.core.dispatcher.WlwProxyImpl.invoke(Ljava.lang.Object;Ljava.lang.reflect.Method;[Ljava.lang.Object;)Ljava.lang.Object;(WlwProxyImpl.java:315)
         at $Proxy13.getCusPneumonics(Ljava.lang.String;)Ljavax.sql.RowSet;(Unknown Source)
         at portlets.Admin.ManagedMobile.CreateUser.CreateUserController.begin()Lcom.bea.wlw.netui.pageflow.Forward;(CreateUserController.jpf:189)
         at jrockit.reflect.NativeMethodInvoker.invoke0(Ljava.lang.Object;ILjava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
         at jrockit.reflect.NativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
         at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
         at java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;I)Ljava.lang.Object;(Unknown Source)
         at com.bea.wlw.netui.pageflow.FlowController.invokeActionMethod(Ljava.lang.reflect.Method;Lorg.apache.struts.action.ActionForm;Ljavax.servlet.http.HttpServletRequest;Lorg.apache.struts.action.ActionMapping;)Lorg.apache.struts.action.ActionForward;(FlowController.java:1507)
         at com.bea.wlw.netui.pageflow.FlowController.getActionMethodForward(Ljava.lang.String;Lorg.apache.struts.action.ActionForm;Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;Lorg.apache.struts.action.ActionMapping;)Lorg.apache.struts.action.ActionForward;(FlowController.java:1433)
         at com.bea.wlw.netui.pageflow.FlowController.internalExecute(Lorg.apache.struts.action.ActionMapping;Lorg.apache.struts.action.ActionForm;Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)Lorg.apache.struts.action.ActionForward;(FlowController.java:764)
         at com.bea.wlw.netui.pageflow.PageFlowController.internalExecute(Lorg.apache.struts.action.ActionMapping;Lorg.apache.struts.action.ActionForm;Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)Lorg.apache.struts.action.ActionForward;(PageFlowController.java:211)
         at com.bea.wlw.netui.pageflow.FlowController.execute(Lorg.apache.struts.action.ActionMapping;Lorg.apache.struts.action.ActionForm;Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)Lorg.apache.struts.action.ActionForward;(FlowController.java:594)
         at org.apache.struts.action.RequestProcessor.processActionPerform(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;Lorg.apache.struts.action.Action;Lorg.apache.struts.action.ActionForm;Lorg.apache.struts.action.ActionMapping;)Lorg.apache.struts.action.ActionForward;(RequestProcessor.java:484)
         at org.apache.struts.action.RequestProcessor.process(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)V(RequestProcessor.java:274)
         at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.process(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)V(PageFlowRequestProcessor.java:650)
         at com.bea.wlw.netui.pageflow.AutoRegisterActionServlet.process(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)V(AutoRegisterActionServlet.java:527)
         at com.bea.wlw.netui.pageflow.PageFlowActionServlet.process(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)V(PageFlowActionServlet.java:152)
         at org.apache.struts.action.ActionServlet.doGet(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)V(ActionServlet.java:507)
         at com.bea.wlw.netui.pageflow.PageFlowUtils.strutsLookup(Ljavax.servlet.ServletContext;Ljavax.servlet.ServletRequest;Ljavax.servlet.http.HttpServletResponse;Ljava.lang.String;[Ljava.lang.String;)Lcom.bea.wlw.netui.pageflow.ActionResult;(PageFlowUtils.java:1617)
         at com.bea.netuix.servlets.controls.content.PageflowContent.preRender()V(PageflowContent.java:449)
         at com.bea.netuix.nf.ControlLifecycle$5.visit(Lcom.bea.netuix.nf.UIControl;Ljava.lang.Object;)Z(ControlLifecycle.java:405)
         at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(Lcom.bea.netuix.nf.VisitorType;Lcom.bea.netuix.nf.UIControl;Ljava.lang.Object;Lcom.bea.netuix.nf.concurrency.ControlTreeWalkerPool;Lcom.bea.netuix.nf.concurrency.WorkerCount;ZZ)V(ControlTreeWalker.java:618)
         at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(Lcom.bea.netuix.nf.VisitorType;Lcom.bea.netuix.nf.UIControl;Ljava.lang.Object;Lcom.bea.netuix.nf.concurrency.ControlTreeWalkerPool;Lcom.bea.netuix.nf.concurrency.WorkerCount;ZZ)V(ControlTreeWalker.java:629)
         at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(Lcom.bea.netuix.nf.VisitorType;Lcom.bea.netuix.nf.UIControl;Ljava.lang.Object;Lcom.bea.netuix.nf.concurrency.ControlTreeWalkerPool;Lcom.bea.netuix.nf.concurrency.WorkerCount;ZZ)V(ControlTreeWalker.java:629)
    [/i PLEASE HELP
    Thanks
    Rina

  • Java.sql.SQLException: Closed Connection: next

    java.sql.SQLException: Closed Connection: next
    Here's the JDBC SELECT code:
    Class.forName(driver);
    con = DriverManager.getConnection(url, user, password);
    stmt = con.createStatement();
    rs = stmt.executeQuery(select_query);
    while(rs.next()) /*Exception occurs on this line! */
    Here's what I know:
    I can connect to the instance using TORA ok.
    The SQL query returns rows from TORA.
    I believe the connections are ok because if I purposely mess up the syntax, I get back ORA-errors.
    I can execute an INSERT statement ok from a servlet.
    I'm using the classes12.zip drivers from the oracle jdbc installation directory.
    I'm using the default JDK in WSAD 5.1
    Thank you all for helping!
    Ryan
    [email protected]

    Ryan,
    I'm only guessing, but I don't think that:
    DriverManager.getConnection(url, user, password);is how to obtain a "Connection" object when using WSAD ("WebSphere", right?) -- even though I don't use WSAD, myself.
    Is the java code you posted part of a POJO (Plain Old Java Object)? Or a servlet? Or an EJB? Or a JSP?
    Remember, error messages can sometimes be misleading.
    What Oracle database version are you using?
    What platform are you using?
    Good Luck,
    Avi.

  • Java.sql.SQLException: Closed Statement

    I'm having a problem with my Java code trying to access an Oracle 10g database through the JDBC driver using the Oracle XML Publisher.
    We generate a number of different reports, but one report consistently fails with the error: java.sql.SQLException: Closed Statement
    It only happens in the production environment, which has significantly more data than the test and development environments.
    One interesting (!) observation is that the error occurs after 10 minutes to the second (almost). Which leads me to think it is a timeout related problem, but am aware that this could be a red herring.
    And finally, the code is being run within a job sheduled using the Quartz Scheduler v1.6.5.
    Any help would be appreciated.
    Many Thanks
    Lawrence
    Here is the stack trace:
    java.sql.SQLException: Closed Statement: getMetaData
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
    at oracle.jdbc.driver.OracleResultSetImpl.getMetaData(OracleResultSetImpl.java:128)
    at com.mchange.v2.c3p0.impl.NewProxyResultSet.getMetaData(NewProxyResultSet.java:47)
    at oracle.apps.xdo.dataengine.XMLPGEN.processSQLDataSource(Unknown Source)
    at oracle.apps.xdo.dataengine.XMLPGEN.writeData(Unknown Source)
    at oracle.apps.xdo.dataengine.XMLPGEN.writeGroup(Unknown Source)
    at oracle.apps.xdo.dataengine.XMLPGEN.writeGroup(Unknown Source)
    at oracle.apps.xdo.dataengine.XMLPGEN.processSQLDataSource(Unknown Source)
    at oracle.apps.xdo.dataengine.XMLPGEN.writeData(Unknown Source)
    at oracle.apps.xdo.dataengine.XMLPGEN.writeGroupStructure(Unknown Source)
    at oracle.apps.xdo.dataengine.XMLPGEN.processData(Unknown Source)
    at oracle.apps.xdo.dataengine.XMLPGEN.processXML(Unknown Source)
    at oracle.apps.xdo.dataengine.XMLPGEN.writeXML(Unknown Source)
    at oracle.apps.xdo.dataengine.DataProcessor.processDataStructre(Unknown Source)
    at oracle.apps.xdo.dataengine.DataProcessor.processData(Unknown Source)
    at com.tmobile.sett.file.invoice.InvoiceFileFactory.generateXML(InvoiceFileFactory.java:157)
    at com.tmobile.sett.file.invoice.InvoiceFileFactory.generateStatements(InvoiceFileFactory.java:365)
    at com.tmobile.sett.file.invoice.InvoiceFileFactory.generateInvoices(InvoiceFileFactory.java:457)
    at com.tmobile.sett.file.invoice.StatementGeneratorJob.execute(StatementGeneratorJob.java:34)
    at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:525)
    Here is the code:
    private void generateXML(String xmlTemplate, String xmlFilename, Hashtable parameters) {
    DataProcessor dataProcessor = new DataProcessor();
    log.debug("generateXML: xmlTemplate {}, xmlFilename {}", xmlTemplate, xmlFilename);
    try {
    // Set Data Template to be executed
    dataProcessor.setDataTemplate(xmlTemplate);
    // Obtain a new Connection from the Pool
    Connection conn = HibernateUtil.getConnection();
    if (conn == null)
    log.debug("conn is null after getCall");
    if (conn.isClosed())
    log.debug("conn is closed after getCall");
    // Set the Connection for the dataProcessor
    dataProcessor.setConnection(conn);
    if (conn.isClosed())
    log.debug("conn is closed after setConnection");
    dataProcessor.setParameters(parameters);
    if (conn.isClosed())
    log.debug("conn is closed after setParameters");
    // Specify the output directory and file for the data file
    dataProcessor.setOutput(xmlFilename);
    if (conn.isClosed())
    log.debug("conn is closed after setOutput");
    // Process the data template
    dataProcessor.processData();
    if (conn.isClosed())
    log.debug("conn is closed after processData");
    // Return the connection to the pool
    conn.close();
    } catch (Exception e) {
    System.err.println("Error generating XML with the following parameters:");
    System.err.println("xmlTemplate=" + xmlTemplate);
    System.err.println("xmlFilename=" + xmlFilename);
    System.err.println("Here's the stack trace");
    e.printStackTrace();
    System.exit(1);
    }

    I have made some progress in understanding the problem...
    Basically, your comment about threads made me look at the code from a threads perspective. There are only three objects used, log4j, oracleXML Publisher and hibernate. Discounting log4j, the Oracle object is created, opened and closed within the procedure, so I concluded that hibernate was the most likely cause of the problem (i know, theres an element of educated guesswork in this).
    Anyway, I found the hibernate timeouts (all around 300 seconds) and increased them to 3000 seconds... and lo and behold the reports are generated successfully, although some of them take over 20 minutes each.
    So, this is a performance problem with the SQL itself:
    SELECT service
    , reply
    , ROUND(SUM(DECODE(op, 3, 0, count))* :uplift,0) x_events
    , ROUND(SUM(DECODE(op, 3, count, 0))* :uplift,0) y_events
    FROM aggregate
    WHERE ref_time >= :period_start
    AND ref_time < :period_end
    AND feed = 13
    AND agreement = :agreement
    AND line = 1
    GROUP BY service, reply
    ORDER BY 1,2
    The SQL in question is querying data for a specific month from a monthly partitioned table that contains about 11 million records a month. We currently have 99 partitions.
    Executing the sql in Toad / Sql developer / sqlplus takes around 20 seconds...so why 20 minutes?
    Looking in the session browser, I can see that the 20 minute query is looking through all 99 partitions where the 20 second query is only looking at 1 partition for the month in question.
    I'm not sure if this is heading off topic for the forum thread, but the question now is...
    Why is Oracle using a clearly innefficient execution plan when we are using a query with bound variables and how do we get it to use a more efficient execution plan?

  • Intermittent java.sql.SQLException: Closed Connection HELP

    We are using 10G rac, with jdbc string with failover with ojdbc14.jar thin client. I am getting this intermittent error
    I can't understand why, my dba says there are no alrets on dbs. Never had an issue with code base on 9i, and classes12.jar. Using jdk 1.42. Usually when bounce weblogic we are okay, running 8.1sp2. I can't really bounce weblogic when this happens everytime so I need to figure out root cause and a way to fix the pool without bouncing. I tried reseting the pool won't work, funnny thing is other pools connnecting to same db, but different schema are not showing this error. any help would be appreiciated.
    Anyone come across this issue Help
    @4000000047b08bfd0530357c DBLogger - Driver Name Version : Oracle JDBC driver
    @4000000047b08bfd0530a6c4 DBLogger - Driver Version : 10.2.0.3.0
    @4000000047b08bfd0531c004 DBLogger - Driver Major Version : 10
    @4000000047b08bfd0531c7d4 DBLogger - Driver Minor Version : 2
    @4000000047b08bfd09eec344 SQL Exception: Closed Connection
    @4000000047b08bfd09f0f5c4 java.sql.SQLException: Closed Connection
    @4000000047b08bfd09fd6174 at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseE
    rror.java:112)
    @4000000047b08bfd09fe8e3c at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseE
    rror.java:146)
    @4000000047b08bfd0a0099ac at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseE
    rror.java:208)
    @4000000047b08bfd0a029194 at oracle.jdbc.driver.PhysicalConnection.setAutoCommit(Physical
    Connection.java:1057)
    Here is entry of pool
    <JDBCConnectionPool CapacityIncrement="2"
    ConnLeakProfilingEnabled="true"
    DriverName="oracle.jdbc.driver.OracleDriver" InitialCapacity="5"
    MaxCapacity="20" Name="NightFirePool"
    Password="{3DES}nQGiomkBhcA=" Properties="user=nfire"
    ShrinkFrequencySeconds="900" Targets="eai00prod"
    TestConnectionsOnCreate="true" TestConnectionsOnRelease="true"
    TestConnectionsOnReserve="true" TestFrequencySeconds="60"
    TestTableName="SQL SELECT 1 FROM DUAL" URL="jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PR
    OTOCOL=TCP)(HOST=node1)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=node2)(PORT=1521))(LOAD_BALANCE=yes)(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_N
    AME=eaiprod)(FAILOVER_MODE=(TYPE=SELECT)(METHOD=BASIC)(RETRIES=5)(DELAY=10))))"/>

    Irfan Ahmed wrote:
    We are using 10G rac, with jdbc string with failover with ojdbc14.jar thin client. I am getting this intermittent error
    I can't understand why, my dba says there are no alrets on dbs. Never had an issue with code base on 9i, and classes12.jar.
    Using jdk 1.42. Usually when bounce weblogic we are okay, running 8.1sp2. I can't really bounce weblogic when this happens
    everytime so I need to figure out root cause and a way to fix the pool without bouncing. I tried reseting the pool won't
    work, funnny thing is other pools connnecting to same db, but different schema are not showing this error. any help would
    be appreiciated.
    Anyone come across this issue Help
    @4000000047b08bfd0530357c DBLogger - Driver Name Version : Oracle JDBC driver
    @4000000047b08bfd0530a6c4 DBLogger - Driver Version : 10.2.0.3.0
    @4000000047b08bfd0531c004 DBLogger - Driver Major Version : 10
    @4000000047b08bfd0531c7d4 DBLogger - Driver Minor Version : 2
    @4000000047b08bfd09eec344 SQL Exception: Closed Connection
    @4000000047b08bfd09f0f5c4 java.sql.SQLException: Closed Connection
    @4000000047b08bfd09fd6174 at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseE
    rror.java:112)
    @4000000047b08bfd09fe8e3c at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseE
    rror.java:146)
    @4000000047b08bfd0a0099ac at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseE
    rror.java:208)
    @4000000047b08bfd0a029194 at oracle.jdbc.driver.PhysicalConnection.setAutoCommit(Physical
    Connection.java:1057)
    Here is entry of pool
    <JDBCConnectionPool CapacityIncrement="2"
    ConnLeakProfilingEnabled="true"
    DriverName="oracle.jdbc.driver.OracleDriver" InitialCapacity="5"
    MaxCapacity="20" Name="NightFirePool"
    Password="{3DES}nQGiomkBhcA=" Properties="user=nfire"
    ShrinkFrequencySeconds="900" Targets="eai00prod"
    TestConnectionsOnCreate="true" TestConnectionsOnRelease="true"
    TestConnectionsOnReserve="true" TestFrequencySeconds="60"
    TestTableName="SQL SELECT 1 FROM DUAL" URL="jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PR
    OTOCOL=TCP)(HOST=node1)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=node2)(PORT=1521))(LOAD_BALANCE=yes)(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_N
    AME=eaiprod)(FAILOVER_MODE=(TYPE=SELECT)(METHOD=BASIC)(RETRIES=5)(DELAY=10))))"/>Hi. Can you show me the whole stacktrace?
    Your pool could be faster, without any
    bad side-effects, by turning off TestConnectionsOnCreate
    and TestConnectionsOnRelease. They don't help. I would
    also suggest turning off shrinking. Those changes will
    make the pool faster and more stable. I''d like the
    stack trace to see if there's any hint about who closed
    the connection...
    Joe

  • Exception java.sql.SQLException: This Connection has either timed out

    I am using JRUN 4 & SQL Server 2000
    and Driver is Type 4 SQL Server 2000.
    Type 4 driver : com.microsoft.jdbc.sqlserver.SQLServerDriver
    I am able to connect & fire the query but while insertion record it gives me this error.
    Exception java.sql.SQLException: This Connection has either timed out
    or been closed, and it has returned to its pool. You must re-acquire the Connect
    ion.
    java.sql.SQLException: This Connection has either timed out or been closed, and
    it has returned to its pool. You must re-acquire the Connection.
    at jrun.sql.JRunConnectionHandle.assertConnectionExists(JRunConnectionHa
    ndle.java:50)
    at jrun.sql.JRunConnectionHandle.rollback(JRunConnectionHandle.java:107)
    at krisolshipping.common.LMaintain.postData(LMaintain.java:563)
    at krisolshipping.securities.SUser.doPost(SUser.java:186)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:91)
    at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
    at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:
    226)
    at jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:
    527)
    at jrun.servlet.http.WebService.invokeRunnable(WebService.java:172)
    at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.j
    ava:451)
    Krisol 03 Exception java.sql.SQLException: This Connection has either timed out
    or been closed, and it has returned to its pool. at jrunx.scheduler.Worke
    rThread.run(WorkerThread.java:66)
    You must re-acquire the Connection.
    java.sql.SQLException: This Connection has either timed out or been closed, and
    it has returned to its pool. You must re-acquire the Connection.

    Did you by any chance close the connection?
    The following appendix in the connection URL is recommended for M$ SQL:
    jdbc:microsoft:sqlserver://mssql:1433;SelectMethod=Cursor

  • Unreported exception; java.sql.SQLException; must be caught or declared to

    Hi everyone,
    For my Java course assignment we need to make a small application that uses a MS Access database. But de code below gives me a "Unreported exception; java.sql.SQLException; must be caught or declared to be thrown at line xx" error.
    public class ConnectieBeheer
      private static Connection con;
      private static Statement stmt;
      private static ResultSet res;
      private static ResultSetMetaData md;
      private ConnectieBeheer(){}
      public static void openDB() {
        Driver driver = new JdbcOdbcDriver();
        Properties info = new Properties();
        String url = "jdbc:odbc:theater";
        con = driver.connect(url, info);       <--- Error here
        if (con != null)
          stmt =  con.createStatement();      <--- Error here
          DatabaseMetaData dma = con.getMetaData();      <--- Error here
      }So I tried this :
    public static void openDB() throws SQLException {Now I do not get an error.
    The OpenDB method is called from a different class like this :
      public static void test1(){
        ConnectieBeheer.openDB();
        System.out.println("DB opened");
      }But now it gives the same "Unreported exception; java.sql.SQLException; must be caught or declared to be thrown at line xx" error but now at the line ConnectieBeheer.openDB();
    Why is this? And what can I do to correct this?
    Thanks!
    Steven.

    you should read the sun tutoriel about exceptions handling ;
    there are two ways to handle an exception : either you redirects it (using "throws" statement, what you did for the openDB method), or you catch it using a try { ... } catch (Exception exc) {}
    if you want to get rid of the error what you can do is :
      public static void test1(){
        try {
            ConnectieBeheer.openDB();
        } catch (java.sql.SQLException sqle) {
            sqle.printStackTrace();
        System.out.println("DB opened");
      }

  • Java.sql.SQLException: Closed Connection error when invoking web service

    Hi
    I've assembled a simple web service for an Oracle PL/SQL package and deployed it on a Standalone OC4J, when I come to invoke it on the Oracle Enterprise Manager screen I'm getting the following returned within the envelope body:
    <env:Body>
    <env:Fault>
    <faultcode>env:Server</faultcode>
    <faultstring>Internal Server Error (serialization error: java.sql.SQLException: java.sql.SQLException: Closed Connection)</faultstring>
    </env:Fault>
    </env:Body>
    The function that is called within the database returns a user defined object that consists of a RAW value and an XMLTYPE. The function takes a string as a parameter, when I enter a string that I know will not return an object there is no error in the envelope body, only when there is an object to return does the error appear.
    Anyone have any suggestion as to why this is?

    I'm no further forward with this: has anyone assembled, deployed and invoked a web service that returns a XMLTYPE?? I know this should be possible but I think there's maybe some manual intervention required with the classes created with webservicesassembler: I'd really appreciate it if anyone with any experience of this kind of thing could help me think this through.

  • Exception java.sql.SQLException: [Microsoft][ODBC Microsoft Access 97 Drive

    Hi,
    I am writing a simple program wihich will display the list of table for a given database. Currently I am using JDBC-ODBC bridge for accessing MS Acccess data base. When I call getTables method of DatabaseMetaData. Following Exception was thrown. Any clue what could be the reason for this?
    Exception java.sql.SQLException: [Microsoft][ODBC Microsoft Access 97 Driver]Driver not capable
    java.sql.SQLException: [Microsoft][ODBC Microsoft Access 97 Driver]Driver not capable
    at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6106)
    at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:6263)
    at sun.jdbc.odbc.JdbcOdbc.SQLTables(JdbcOdbc.java:4917)
    at sun.jdbc.odbc.JdbcOdbcDatabaseMetaData.getTables(JdbcOdbcDatabaseMetaData.java:2395)
    at test.databaseMetaData.main(databaseMetaData.java:36)
    This exception occured in the following block:
         String[] strTables = {"TABLES"};
    rs = dbmd.getTables( null, "DBIS", "A%", strTables);
    Thanks in advance
    Cheers,
    Krishna

    Hi Krishna,
    First, do you have a correct ODBC setup on the platform your working on -- data source, etc.
    Second, please enclose the Java code for your connection, etc..
    Good luck!
    Francis

  • PLSQL webservice eventually gives java.sql.SQLException: Closed Connection

    Hi
    We have created a web service based on a plsql procedure in jdeveloper 10.1.2.1.0
    We deployed the web service to .ear file in jdev and then deployed that ear file to our 10.1.2 app server.
    The web service works fine for a short time but then gives
    java.sql.SQLException: Closed Connection
    The web service is not used frequently so it's possible the connection is timing out. I haven't tested invoking the web service perodically to see if it remains alive.
    I tried to follow this note on metalink
    https://metalink.oracle.com/metalink/plsql/f?p=130:14:2526430465590485698::::p14_database_id,p14_docid,p14_show_header,p14_show_help,p14_black_frame,p14_font:NOT,370209.1,1,1,1,helvetica
    Which wants me to make changes to the file <webservice_name>Base.java in our case GPAuditBase.java
    My questions are:
    1. In the jdeveloper navigator there is a file called GPAuditBase.sqlj but it does not contain all the code mentioned in the metalink note. Specifically the finally{} section. Do I need to edit the generated GPAuditBase.java that is saved in the src folder for the project? That file seems to contain the code mentioned in the metalink note.
    2. If so, how are those changes reflected in the ear file that I want to deploy to my app server? Do I change the files in the src folder and then deploy to ear in jdev
    thanks
    paul schweiger

    ahem...
    bump

  • Exception :java.sql.SQLException: Duplicate entry '1-0' for key 1

    Help me in fixing this error
    Exception :java.sql.SQLException: Duplicate entry '1-0' for key 1
    1>>User_ID is primary key and unique and
    2>>User_ID is also auto Incremented
    3>>User_ID is the First coloumn in the table
    PreparedStatement ps=con.prepareStatement("insert into User(user_name,user_email,user_password) values (?,?,?)");
    ps.setString(1,s11);
    ps.setString(2,s22);
    ps.setString(3,s33);
    int i= ps.executeUpdate();

    A growing trend it appears. Must be some new high school and/or college curriculum regarding moral relativism.

  • Unexpected exception : java.sql.SQLException

    I tried to execute a query by reading it from the console and passing it as an argument to executeQuery( ) method.
    It is giving the following error message
    Unexpected exception : java.sql.SQLException: [Microsoft][ODBC Microsoft Access
    Driver] Syntax error in FROM clause. , sqlstate = 37000
    java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Syntax error in
    FROM clause.
    at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6031)
    at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:6188)
    at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:2494)
    at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:314)
    at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:2
    29)
    at assignment1.main(assignment1.java:63)
    Can anyone help me to get rid of this error.
    Thanks,
    Suma

    It's telling you that the query you read in from the console is not valid SQL, in particular that there is an error somewhere in the FROM clause of the query. To solve this problem, only type valid queries into this program. Or if you can't guarantee that -- and you can't -- report the error to the person typing in the invalid queries.

Maybe you are looking for