HI ,
we have a code to get the clob and then write it to the database
HttpSession session = UIServices.getHttpSession(context);
byte] payloadByteArray = (byte[)session.getAttribute("FILE_BYTES_fileName");
String payloadStr = null;
try {
//get the string
payloadStr = new String(payloadByteArray, "UTF-8");
// System.out.println("---payloadstr --->>>>"+payloadStr) ;
ClobDomain cd =new ClobDomain(payloadStr);
XhubRoutingRulesAMImpl am = (XhubRoutingRulesAMImpl)Jbo.getApplicationModule(context);
SnwRoutingRulesVOImpl SnwRoutingRulesVO= (SnwRoutingRulesVOImpl) am.findObject("SnwRoutingRulesVO");
Jbo.applyViewCriteriaOneRow(SnwRoutingRulesVO,"RoutingRuleId",routingRuleId);
SnwRoutingRulesVO.executeQuery();
SnwRoutingRulesVORowImpl row=null;
while (SnwRoutingRulesVO.hasNext())
{
row =(SnwRoutingRulesVORowImpl) SnwRoutingRulesVO.next();
row.setPreXslt(cd);
row.setOverridexslt("Y");
row.setPostXslt(null);
}
//commiting the data
Jbo.commit(am);
session.removeAttribute("FILE_BYTES_fileName");
}
catch(Exception e){
e.printStackTrace();
session.removeAttribute("FILE_BYTES_fileName");
}
THE exception are :
oracle.jbo.DMLException: JBO-26041: Failed to post data to database during "Update": SQL Statement "null".
at oracle.jbo.server.EntityImpl.doDMLWithLOBs(EntityImpl.java:8139)
at oracle.jbo.server.EntityImpl.doDML(EntityImpl.java:7994)
at oracle.apps.snw.schema.server.WhoEntityImpl.doDML(WhoEntityImpl.java:200)
at oracle.jbo.server.EntityImpl.postChanges(EntityImpl.java:6319)
at oracle.jbo.server.DBTransactionImpl.doPostTransactionListeners(DBTransactionImpl.java:3168)
at oracle.jbo.server.DBTransactionImpl.postChanges(DBTransactionImpl.java:2976)
at oracle.jbo.server.DBTransactionImpl.commitInternal(DBTransactionImpl.java:2014)
at oracle.jbo.server.DBTransactionImpl.commit(DBTransactionImpl.java:2273)
at oracle.apps.snw.uicommon.Jbo.commit(Jbo.java:148)
at oracle.apps.snw.tpadmin.webui.TPRouteRulesEvent.fileUpload(TPRouteRulesEvent.java:241)
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 oracle.cabo.servlet.event.MethodEventHandler.handleEvent(Unknown Source)
at oracle.cabo.data.jbo.servlet.event.ChainingEventHandler.handleEventImpl(Unknown Source)
at oracle.cabo.data.jbo.servlet.event.FindRootAppModuleEventHandler.handleEventImpl(Unknown Source)
at oracle.cabo.data.jbo.servlet.event.BaseEventHandler.handleEvent(Unknown Source)
at oracle.cabo.servlet.event.TableEventHandler.handleEvent(Unknown Source)
at oracle.cabo.servlet.event.TableEventHandler.handleEvent(Unknown Source)
at oracle.cabo.data.jbo.xml.parse.JboParserExtensionImpl$SynchronizingEventHandler.handleEvent(Unknown Source)
at oracle.cabo.servlet.event.BasePageFlowEngine.handleRequest(Unknown Source)
at oracle.cabo.servlet.AbstractPageBroker.handleRequest(Unknown Source)
at oracle.cabo.servlet.ui.BaseUIPageBroker.handleRequest(Unknown Source)
at oracle.cabo.servlet.PageBrokerHandler.handleRequest(Unknown Source)
at oracle.cabo.servlet.UIXServlet.doGet(Unknown Source)
at oracle.cabo.servlet.BajaServlet.doGet(Unknown Source)
at oracle.cabo.servlet.UIXServlet.doPost(Unknown Source)
at oracle.cabo.servlet.BajaServlet.doPost(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:159)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:326)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3592)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: java.lang.NullPointerException
at oracle.jbo.domain.ClobDomain.writeCharsToLob(ClobDomain.java:1322)
at oracle.jbo.domain.ClobDomain.saveToDatabase(ClobDomain.java:464)
at oracle.jbo.server.EntityImpl.doDMLWithLOBs(EntityImpl.java:8114)
... 49 more
This same code is running fine sometime and we didnt get any issue but sometime it is throwing the error .
Its very strange