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?

Similar Messages

  • 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.

  • JDBC Sender Adapter : java.sql.SQLException: Cursor state not valid.

    Hello all,
    We have configured JDBC Sender Adapter which fetches around 10K records with poll interval 1hr  from DB2 System .
    It was working fine,suddenly it started throwing an exception in Adapter Monitoring :
    Error during conversion of query result to XML: java.sql.SQLException: Cursor state not valid.
    It is not fetching any records.
    Without changing any configurations when we tried to fetch to around 1000 records it's working fine.
    For 10K records same exception persists
    What could be the reason ?How to resolve this issue?
    regards
    GangaPrasad

    Hello Christophe ,
    Trace in VA :::
    Date : 05/09/2008
    Time : 11:45:57:750
    Message : Unexpected error converting database resultset to XML, reason: java.sql.SQLException: Cursor state not valid.
         at java.lang.Throwable.<init>(Throwable.java:194)
         at java.lang.Exception.<init>(Exception.java:41)
         at java.sql.SQLException.<init>(SQLException.java:40)
         at com.ibm.as400.access.JDError.throwSQLException(JDError.java:389)
         at com.ibm.as400.access.JDError.throwSQLException(JDError.java:366)
         at com.ibm.as400.access.AS400JDBCResultSet.getValue(AS400JDBCResultSet.java:3580)
         at com.ibm.as400.access.AS400JDBCResultSet.getString(AS400JDBCResultSet.java:3223)
         at sun.reflect.GeneratedMethodAccessor459222074.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:309)
         at com.sap.aii.adapter.jdbc.sql.jdbctrace.TraceInvocationHandler.invoke(TraceInvocationHandler.java:45)
         at com.sap.aii.adapter.jdbc.sql.jdbctrace.$Proxy254.getString(Unknown Source)
         at com.sap.aii.adapter.jdbc.JDBC2XI.convert2XML(JDBC2XI.java:954)
         at com.sap.aii.adapter.jdbc.JDBC2XI.invoke(JDBC2XI.java:492)
         at com.sap.aii.af.service.scheduler.JobBroker$Worker.run(JobBroker.java:475)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:99)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:119)
    Severity : Error
    Category : /Applications/ExchangeInfrastructure/AdapterFramework/Services/ADAPTER/ADMIN/JDBC
    Location : com.sap.aii.adapter.jdbc.JDBC2XI.convert2XML(ResultSet, ResultSetMetaData)
    Application :
    Thread : XI JDBC2XI[JDBC_SND_DB2_VehicleReceiving/DB2PRD00/]_170
    Datasource : 12428950:/usr/sap/PXI/DVEBMGS01/j2ee/cluster/server0/log/applications/com.sap.xi/xi.log
    Message ID : 00145E742794005E0014980B000000BE00044CC763766C4F
    Source Name : /Applications/ExchangeInfrastructure/AdapterFramework/Services/ADAPTER/ADMIN/JDBC
    Argument Objs : java.sql.SQLException: Cursor state not valid.
         at java.lang.Throwable.<init>(Throwable.java:194)
         at java.lang.Exception.<init>(Exception.java:41)
         at java.sql.SQLException.<init>(SQLException.java:40)
         at com.ibm.as400.access.JDError.throwSQLException(JDError.java:389)
         at com.ibm.as400.access.JDError.throwSQLException(JDError.java:366)
         at com.ibm.as400.access.AS400JDBCResultSet.getValue(AS400JDBCResultSet.java:3580)
         at com.ibm.as400.access.AS400JDBCResultSet.getString(AS400JDBCResultSet.java:3223)
         at sun.reflect.GeneratedMethodAccessor459222074.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:309)
         at com.sap.aii.adapter.jdbc.sql.jdbctrace.TraceInvocationHandler.invoke(TraceInvocationHandler.java:45)
         at com.sap.aii.adapter.jdbc.sql.jdbctrace.$Proxy254.getString(Unknown Source)
         at com.sap.aii.adapter.jdbc.JDBC2XI.convert2XML(JDBC2XI.java:954)
         at com.sap.aii.adapter.jdbc.JDBC2XI.invoke(JDBC2XI.java:492)
         at com.sap.aii.af.service.scheduler.JobBroker$Worker.run(JobBroker.java:475)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:99)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:119)
    Arguments : java.sql.SQLException: Cursor state not valid.
         at java.lang.Throwable.<init>(Throwable.java:194)
         at java.lang.Exception.<init>(Exception.java:41)
         at java.sql.SQLException.<init>(SQLException.java:40)
         at com.ibm.as400.access.JDError.throwSQLException(JDError.java:389)
         at com.ibm.as400.access.JDError.throwSQLException(JDError.java:366)
         at com.ibm.as400.access.AS400JDBCResultSet.getValue(AS400JDBCResultSet.java:3580)
         at com.ibm.as400.access.AS400JDBCResultSet.getString(AS400JDBCResultSet.java:3223)
         at sun.reflect.GeneratedMethodAccessor459222074.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:309)
         at com.sap.aii.adapter.jdbc.sql.jdbctrace.TraceInvocationHandler.invoke(TraceInvocationHandler.java:45)
         at com.sap.aii.adapter.jdbc.sql.jdbctrace.$Proxy254.getString(Unknown Source)
         at com.sap.aii.adapter.jdbc.JDBC2XI.convert2XML(JDBC2XI.java:954)
         at com.sap.aii.adapter.jdbc.JDBC2XI.invoke(JDBC2XI.java:492)
         at com.sap.aii.af.service.scheduler.JobBroker$Worker.run(JobBroker.java:475)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:99)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:119)
    Dsr Component :
    Dsr Transaction : d1f629d01d9b11dd984200145e742794
    Dsr User :
    Indent : 0
    Level : 0
    Message Code :
    Message Type : 1
    Relatives : com.sap.aii.adapter.jdbc.JDBC2XI
    Resource Bundlename :
    Session : 0
    Source : /Applications/ExchangeInfrastructure/AdapterFramework/Services/ADAPTER/ADMIN/JDBC
    ThreadObject : XI JDBC2XI[JDBC_SND_DB2_VehicleReceiving/DB2PRD00/]_170
    Transaction : SAP J2EE Engine JTA Transaction : [0ffffffbdffffffa6ffffff960086]
    User : J2EE_GUEST
    Regards
    Ganga Prasad

  • Java.sql.SQLException: Closed Connection from Custom Identity Service

    Hi,
    Here is an issue I am trying to resolve:
    Platform: Oracle BPEL 10.1.2
    OS: Red Hat Enterprise Linux ES release 4 (Nahant Update 4)
    Please note that the whole thing has been working in other same type of installations (e.g. RedHat, Windows, Developer BPEL on Windows & Linux) but this seems to be something special on this server. Any help will be appreciated:
    This actually work for sometime (2-3 hours) and then suddenly stops working even if we don't do any transaction on it.
    Thanks,
    Bipul Dutta.
    Error stack:
    09/08/17 12:45:25 CustomIdentityService::authenticateUser():: begin
    ############# inside authenticateUser
    09/08/17 12:45:25 CustomIdentityService::user authenticated
    ############# inside getUser()
    09/08/17 12:45:25 java.sql.SQLException: Closed Connection
    09/08/17 12:45:25      at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:137)
    09/08/17 12:45:25      at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:174)
    09/08/17 12:45:25      at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:239)
    09/08/17 12:45:25      at oracle.jdbc.driver.PhysicalConnection.prepareStatement(PhysicalConnection.java:930)
    09/08/17 12:45:25      at oracle.jdbc.driver.PhysicalConnection.prepareStatement(PhysicalConnection.java:826)
    09/08/17 12:45:25      at oracle.tip.pc.services.identity.FAMDBProvider.getUser(FAMDBProvider.java:418)
    09/08/17 12:45:25      at oracle.tip.pc.services.identity.FAMCustomIdentityService.lookupUser(FAMCustomIdentityService.java:101)
    09/08/17 12:45:25      at oracle.tip.pc.services.hw.worklist.WorklistService.authenticateUser(WorklistService.java:333)
    09/08/17 12:45:25      at com.famis.web.service.core.humanworkflow.service.AbstractTaskWebService.getBpelContext(AbstractTaskWebService.java:20)
    09/08/17 12:45:25      at com.famis.web.service.core.humanworkflow.service.GetTasksWebServiceImpl.process(GetTasksWebServiceImpl.java:51)
    09/08/17 12:45:25      at com.famis.web.service.core.humanworkflow.service.TaskWebServiceImpl.process(TaskWebServiceImpl.java:68)
    09/08/17 12:45:25      at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
    09/08/17 12:45:25      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    09/08/17 12:45:25      at java.lang.reflect.Method.invoke(Method.java:324)
    09/08/17 12:45:25      at org.apache.axis.providers.java.MsgProvider.processMessage(MsgProvider.java:141)
    09/08/17 12:45:25      at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
    09/08/17 12:45:25      at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
    09/08/17 12:45:25      at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
    09/08/17 12:45:25      at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
    09/08/17 12:45:25      at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454)
    09/08/17 12:45:25      at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
    09/08/17 12:45:25      at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
    09/08/17 12:45:25      at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    09/08/17 12:45:25      at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
    09/08/17 12:45:25      at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    09/08/17 12:45:25      at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:835)
    09/08/17 12:45:25      at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:341)
    09/08/17 12:45:25      at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:816)
    09/08/17 12:45:25      at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:231)
    09/08/17 12:45:25      at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:136)
    09/08/17 12:45:25      at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
    09/08/17 12:45:25      at java.lang.Thread.run(Thread.java:534)
    <2009-08-17 12:45:25,877> <ERROR> <tmobilet.collaxa.cube.services> <PCException::<init>> User is not found.
    <2009-08-17 12:45:25,877> <ERROR> <tmobilet.collaxa.cube.services> <PCException::<init>> User "BSAUNDE4" is not found in realm "tmobilet".
    <2009-08-17 12:45:25,877> <ERROR> <tmobilet.collaxa.cube.services> <PCException::<init>> Check the error stack and fix the cause of the error. Contact
    Edited by: user11798418 on Aug 17, 2009 10:30 AM

    >
    I have my application jar on the server, and launch this JFrame application from the browser. ><zen question>
    Which particular 'the browser'? What version of what browser running on what OS?
    </zen question>
    The reason I ask is that it is up to the browser to call an applet's stop()/destroy() methods and if they do not do so - there is almost nothing we as developers can do about it.
    If you need such reliable shut down behaviour, it would be best to launch the applet or frame using Java Web Start.

  • 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.

  • 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.....

  • 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

  • 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

  • Could someone help me with this error: java.sql.SQLException: Closed Connec

    My code:
    <%@ include file="../setupcache.jsp"%>
    <%
    if(connectionPool_dig==null){
    %>
    <p>Could not connect to database. Please try again, thank!</p>
    <%          
         return ;
    Connection con = connectionPool_dig.getConnection();
    if(con==null){
    %>
    <p>Could not connect to database. Please try again, thank!</p>
    <%          
         return;
         String file = request.getParameter("m_FILE");
              file = "a";
         String sql = " SELECT *"+
              " FROM "+
              " FILEUPLOAD, SUBJECT"+
              " WHERE "+
              " FILEUPLOAD.SUBJECTCODE = SUBJECT.CODE AND UPPER(FILEUPLOAD.FILENAME) LIKE(UPPER(?))";
         PreparedStatement stmt = con.prepareStatement(sql);
         stmt.setString(1,"%"+file+"%");
         ResultSet rs = stmt.executeQuery();
         while(rs.next()){
              out.println("<br>"+rs.getString(1));
              out.println("<br>"+rs.getString(2));
              out.println("<br>"+rs.getString(3));
              out.println("<br>"+rs.getString(4));
         rs.close();
         stmt.close();
    try{
         con.close();
    }catch(SQLException e){}
    %>
    it usualy generate that error (once wrong then right then wrong....), but if I don't close connection (con.close), it work well. Could some one help me!

    Hi,
    I think that it should be better that returning the Connection
    instance back to the Connection Pool. The connection
    should not be close by you. it should controlled by the
    connection pool mechanism. So I think that you should
    check out your connection pool usage document for the
    right usage.
    If your code is the case, the connection in connection
    pool will get less and your connection pool mechanism
    may need to reallocate a new one for application. I
    don't think that it is right.
    good luck,
    Alfred Wu

  • Java.sql.SQLException: statement handle not executed

    hello,
    i am calling a stored procedure and its returns a REF CURSOR and i am getting intermittent exceptions below,
    org.springframework.jdbc.UncategorizedSQLException: Hibernate operation: could not execute query; uncategorized SQLException for SQL [{call
    xxxx_pkg(?,?)}]; SQL state [99999]; error code [17144]; statement handle not executed; nested exception is java.sql.SQLException: statement handle not executed
    and
    org.springframework.jdbc.UncategorizedSQLException: Hibernate operation: could not execute query; uncategorized SQLException for SQL [{call
    xxxx_pkg(?,?,?)}]; SQL state [99999]; error code [17009]; Closed Statement; nested exception is java.sql.SQLException: Closed Statement
    any clue what could be the issue,
    Regards
    GG

    its pretty simple have a java class calling hibernateTemplate's findByNamedQueryAndNamedParam method by passing the procedure name and binding parameters/values, and here is the stack
    org.springframework.jdbc.UncategorizedSQLException: Hibernate operation: could not execute query; uncategorized SQLException for SQL [{call
    xxx_pkg(?,?)}]; SQL state [99999]; error code [17144]; statement handle not executed; nested exception is java.sql.SQLException: statement handle not executed
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83)
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
    at org.springframework.orm.hibernate3.HibernateAccessor.convertJdbcAccessException(HibernateAccessor.java:424)
    at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:410)
    at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:411)
    at org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
    at org.springframework.orm.hibernate3.HibernateTemplate.findByNamedQueryAndNamedParam(HibernateTemplate.java:1006)
    Caused by: java.sql.SQLException: statement handle not executed
    at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
    at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:112)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:173)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:229)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:403)
    at oracle.jdbc.driver.T4CStatement.doDescribe(T4CStatement.java:701)
    at oracle.jdbc.driver.OracleStatement.getColumnIndex(OracleStatement.java:3355)
    at oracle.jdbc.driver.OracleResultSetImpl.findColumn(OracleResultSetImpl.java:2009)
    at oracle.jdbc.driver.OracleResultSet.getString(OracleResultSet.java:494)
    at org.hibernate.type.StringType.get(StringType.java:18)
    at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:163)
    at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:154)
    at org.hibernate.type.AbstractType.hydrate(AbstractType.java:81)
    at org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractEntityPersister.java:2091)
    at org.hibernate.loader.Loader.loadFromResultSet(Loader.java:1380)
    at org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1308)
    at org.hibernate.loader.Loader.getRow(Loader.java:1206)
    at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:580)
    at org.hibernate.loader.Loader.doQuery(Loader.java:701)
    at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
    at org.hibernate.loader.Loader.doList(Loader.java:2217)
    at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2108)
    at org.hibernate.loader.Loader.list(Loader.java:2103)
    at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:289)
    at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1696)
    at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:142)
    at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:152)
    at org.springframework.orm.hibernate3.HibernateTemplate$34.doInHibernate(HibernateTemplate.java:1015)
    at org.springframework.orm.hibernate3.HibernateTemplate$34.doInHibernate(HibernateTemplate.java:1)
    at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:406)

  • Interleaved executeQuery's intermittant SQLException: Closed Statement

    When i run the following code using JDK1.3.1 and Oracle 817 i see the line "cats_rs = cats_stmt.executeQuery();" throw a "SQLException: Closed Statement." about 1 out of 10 times.
    All variables, except the connection, are local. the statement example below are just 2 among dozens of others - all using the same connection.
    Any ideas why i'd get an intermittant exception like this?
    It is totally stumping me. thanks in advance.
    memory_stmt = connection.prepareStatement(memory_sql,
    ResultSet.TYPE_SCROLL_INSENSITIVE,
    ResultSet.CONCUR_READ_ONLY);
    cats_stmt = connection.prepareStatement(cats_sql,
    ResultSet.TYPE_SCROLL_INSENSITIVE,
    ResultSet.CONCUR_READ_ONLY);
    index = 1;
    memory_stmt.setString(index++, host);
    memory_stmt.setString(index++, jvm);
    memory_stmt.setLong(index++, starttime);
    memory_stmt.setLong(index++, endtime);
    memory_rs = memory_stmt.executeQuery();
    index = 1;
    cats_stmt.setString(index++, host);
    cats_stmt.setString(index++, jvm);
    cats_stmt.setLong(index++, starttime);
    cats_stmt.setLong(index++, endtime);
    cats_rs = cats_stmt.executeQuery();
    E.g.
    java.sql.SQLException: Closed Statement
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:285)
         at oracle.jdbc.driver.OracleStatement.ensureOpen(OracleStatement.java:5681)
         at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:409)
         at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:366)
    Thx, Tim

    I had a hunch that this was a limitation or bug in the driver or pool. I also read in forums that the connection "manages" each Statement it prepares or creates; like it adds it to a List and such ; it also cleans the slate each time the connection is closed.
    This code example above is just a small snippit that summarizes over a long time range of data (like days) - that is potentially 1000s of statements and queries and result sets.
    It is probably not very common that with jdbc someone prepares and executes 1000s of queries on the same connection over a course of 2 - 10 minutes (that's how long the entire operationcould take). I guessed the connection was worn out and tired .
    I changed the code to get a connection and then close the connection periodically - instead of getting one connection and using it for the whole period. After that all these hard to explain Closed Statement exceptions disappeared.
    i think the interleaving queries is OK. I guess the connection was blowing out.

  • Interleaved executeQuery() generates SQLException: Closed Statement

    When i run the following code i see the cats_stmt.executeQuery() line throw a "SQLException: Closed Statement.".
    Since I just created the cats_stmt statement - why could it be closed?
    The memory_stmt.executeQuery runs without exception.
    memory_stmt = connection.prepareStatement(memory_sql,
    ResultSet.TYPE_SCROLL_INSENSITIVE,
    ResultSet.CONCUR_READ_ONLY);
    cats_stmt = connection.prepareStatement(cats_sql,
    ResultSet.TYPE_SCROLL_INSENSITIVE,
    ResultSet.CONCUR_READ_ONLY);
    index = 1;
    memory_stmt.setString(index++, host);
    memory_stmt.setString(index++, jvm);
    memory_stmt.setLong(index++, starttime);
    memory_stmt.setLong(index++, endtime);
    memory_rs = memory_stmt.executeQuery();
    index = 1;
    cats_stmt.setString(index++, host);
    cats_stmt.setString(index++, jvm);
    cats_stmt.setLong(index++, starttime);
    cats_stmt.setLong(index++, endtime);
    cats_rs = cats_stmt.executeQuery(); <<- throws exception.
    On JDK1.3.1 and Oracle 817
    E.g.
    java.sql.SQLException: Closed Statement
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:285)
    at oracle.jdbc.driver.OracleStatement.ensureOpen(OracleStatement.java:5681)
    at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:409)
    at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:366)

    I had a hunch that this was a limitation or bug in the driver or pool. I also read in forums that the connection "manages" each Statement it prepares or creates; like it adds it to a List and such ; it also cleans the slate each time the connection is closed.
    This code example above is just a small snippit that summarizes over a long time range of data (like days) - that is potentially 1000s of statements and queries and result sets.
    It is probably not very common that with jdbc someone prepares and executes 1000s of queries on the same connection over a course of 2 - 10 minutes (that's how long the entire operationcould take). I guessed the connection was worn out and tired .
    I changed the code to get a connection and then close the connection periodically - instead of getting one connection and using it for the whole period. After that all these hard to explain Closed Statement exceptions disappeared.
    i think the interleaving queries is OK. I guess the connection was blowing out.

  • Jboss getting SQLException: Closed Statement prepared-statement- cache-size

    My first post in this forum , hope to get a quick resolution :)
    I am using Jboss 4.0.0 on Oracle 9.2.0.4.0
    In order to improve the app performance , I had specified prepared-statement-cache-size as 50 as follows ,
    <datasources>
    <local-tx-datasource>
    <jndi-name>jdbc/sct</jndi-name> <connection-url>jdbc:oracle:thin:@confidential:1560:sct1</connection-url>
    <user-name>Confidential</user-name>
    <password>Confidential</password>
    <min-pool-size>10</min-pool-size>
    <max-pool-size>120</max-pool-size>     <prepared-statement-cache-size>50</prepared-statement-cache-size>
    <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptio nSorter</exception-sorter-class-name>
    <idle-timeout-minutes>5</idle-timeout-minutes>
    <track-statements>true</track-statements>
    <new-connection-sql>select sysdate from dual</new-connection-sql>
    <check-valid-connection-sql>select sysdate from dual</check-valid-connection-sql>
    </local-tx-datasource>
    </datasources>
    After doing this , I start getting the following exception ,
    java.sql.SQLException: Closed Statement
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:285)
         at oracle.jdbc.driver.OracleStatement.ensureOpen(OracleStatement.java:5681)
         at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.j ava:409)
         at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.ja va:366)
         at org.jboss.resource.adapter.jdbc.CachedPreparedStatement.executeQuery(CachedPrepare dStatement.java:57)
         at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeQuery(WrappedPrepa redStatement.java:296)
         at com.ge.sct.SiteText.getSiteTextFromDB(SiteText.java:292)
    Thanks in Advance
    Bhavin

    Hello,
    I am also facing the same error: somewhere just now I read,
    We were getting this error on JBoss / Oracle. The fix was setting the following to 0 in oracle-ds.xml:
    <prepared-statement-cache-size>0</prepared-statement-cache-size>
    Ref: http://www.jpox.org/servlet/forum/viewthread?thread=1108
    May be you can try this, I am also still finding the solution, I will try the above and let u know, if i get success.
    Regards,
    Rajesh

  • Java.sql.SQLException: can't create statement from closed connection

    java.sql.SQLException: can't create statement from closed connection.
    at com.caucho.sql.QPooledConnectionImpl.prepareStatement(QPooledConnecti onImpl.java:411)
    I am getting this error with my JSP's, i am running on Resin on Win2k, and MySql as backend.
    Has anyone else also faced this issue ?
    Looking for someone to help me to solve this issue.
    rc

    Looking for someone to help me to solve this issue.Maybe you are closing the connections. You might want to verify that you are not doing that. Or if you are that that is the correct way to return the connection to the pool.
    Or you could have stale connections. Some databases will time out connections if the connection is no used in a while. (This is a good thing.) But this means connection pools must do something with connections that are not used for a while. The pools usually have a configuration option(s) which allows you to set up a keep alive message which keeps the database from closing the connection.

Maybe you are looking for

  • Batch Determination in time of Goods Issue

    Hi, We are doing internally numbered Batches. We got 4 btches say A- 10kg,B- 10Kg,  C- 10Kg, D- 10kg. I want to issue 30kg, at this time I want to select Batches automatically by the system which has stock thru FIFO. So that system will create 3 line

  • How to log the user and group setup from weblogic console

    If I use the file realm to setup my acls, does it possible to log these action? Our customer ask us must to log which user or group you added, deleted. Thanks and Best Regards, Tom Hsu ³\®aºa (Tom Hsu) Project Manager Banking Solution Dept. Bull Info

  • Can I delete Data1.cab files?

    I am doing some file maintenance and I notice that I have 3 Data1.cab files in different folders. C:\program files\adobe\acrobat\setup files\acropro\efg C:\program files\adobe\acrobat\setup files\acropro\efg_ C:\program files\adobe\acrobat\setup file

  • Error: (0) initialization error

    I'm trying to work through an example in the JDeveloper3 book and get the following error message after pointing and clicking my way through a BC Data Form Wizard and trying to run what it created: Error: (0) initialization error: class Error const *

  • Why does exporting HD to a tape take a very long time?

    Not a tech problem, really, just a question: just wondering if anyone in here knows why it takes forever to export an HD movie back to HD videotape? I sometimes like to backup my raw footage tapes and have always done so with SD format but HD takes F