• Anonymous
  • Login
  • Register
XPages Extension Library - Feature Request: XpagesJDBC.nsf Library insert Update exception on jdbcData1.acceptChanges()


Hello,

I get an error when trying to insert or Update a table in postgres db using the JDBC_RowSetDatasource.xsp (from the XpagesJDBC.nsf example), see the error output below. The insert and update does the insert and update but at the same time I get an exception,  I have even added the following two lines to the DBUtil.getConnection(), with or without the following two lines the exception will be raises after the save button clicked.

Can you tell me plase if that is a defect or I have done somthing wrong.

publicConnection getConnection() throwsSQLException {
       if(connection==null) {
connection = JdbcUtil.getConnection(FacesContext.getCurrentInstance(),connectionName);
                       // CY 30.10.2011 enable commit
                       connection.setReadOnly(false);
                       connection.setAutoCommit(true);
               }
               returnconnection;
       }

com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:272)

javax.sql.rowset.spi.SyncProviderException: Cannot commit when autoCommit is enabled.






The runtime has encountered an unexpected error.

 

Page Name:/CY_JDBC_RowSetDatasource.xsp
Control Id: button1
Property: onclick

Exception

Error while executing JavaScript action expression
Script interpreter error, line=1, col=11: Error calling method 'acceptChanges()' on java class 'com.ibm.xsp.extlib.jdbc.model.JdbcRowSetAccessor'
Cannot commit when autoCommit is enabled.

JavaScript code

   1: jdbcData1.acceptChanges()

Stack Trace

javax.faces.FacesException: Error while executing JavaScript action expression
   com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:102)
   com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:210)
   com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:96)
   com.ibm.xsp.controller.FacesControllerImpl.execute(FacesControllerImpl.java:250)
   com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:223)
   com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:200)
   com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:160)
   com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:137)
   com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:103)
   com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:576)
   com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1267)
   com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:847)
   com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:796)
   com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:565)
   com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1251)
   com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:598)
   com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:421)
   com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:341)
   com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:297)
   com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:272)
com.ibm.xsp.exception.EvaluationExceptionEx: Error while executing JavaScript action expression
   com.ibm.xsp.binding.javascript.JavaScriptMethodBinding.invoke(JavaScriptMethodBinding.java:126)
   com.ibm.xsp.application.ActionListenerImpl.processAction(ActionListenerImpl.java:60)
   javax.faces.component.UICommand.broadcast(UICommand.java:324)
   com.ibm.xsp.component.UIEventHandler.broadcast(UIEventHandler.java:366)
   com.ibm.xsp.component.UIDataPanelBase.broadcast(UIDataPanelBase.java:400)
   com.ibm.xsp.extlib.component.layout.UIVarPublisherBase.broadcast(UIVarPublisherBase.java:181)
   com.ibm.xsp.component.UIDataPanelBase.broadcast(UIDataPanelBase.java:400)
   com.ibm.xsp.component.UIViewRootEx.broadcast(UIViewRootEx.java:1535)
   javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:307)
   javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:428)
   com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:94)
   com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:210)
   com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:96)
   com.ibm.xsp.controller.FacesControllerImpl.execute(FacesControllerImpl.java:250)
   com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:223)
   com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:200)
   com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:160)
   com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:137)
   com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:103)
   com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:576)
   com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1267)
   com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:847)
   com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:796)
   com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:565)
   com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1251)
   com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:598)
   com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:421)
   com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:341)
   com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:297)
   com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:272)
com.ibm.jscript.InterpretException: Script interpreter error, line=1, col=11: Error calling method 'acceptChanges()' on java class 'com.ibm.xsp.extlib.jdbc.model.JdbcRowSetAccessor'
   com.ibm.jscript.types.JavaAccessObject.call(JavaAccessObject.java:334)
   com.ibm.jscript.types.FBSObject.call(FBSObject.java:161)
   com.ibm.jscript.ASTTree.ASTCall.interpret(ASTCall.java:175)
   com.ibm.jscript.ASTTree.ASTProgram.interpret(ASTProgram.java:119)
   com.ibm.jscript.ASTTree.ASTProgram.interpretEx(ASTProgram.java:139)
   com.ibm.jscript.JSExpression._interpretExpression(JSExpression.java:435)
   com.ibm.jscript.JSExpression.access$1(JSExpression.java:424)
   com.ibm.jscript.JSExpression$2.run(JSExpression.java:414)
   java.security.AccessController.doPrivileged(AccessController.java:284)
   com.ibm.jscript.JSExpression.interpretExpression(JSExpression.java:410)
   com.ibm.jscript.JSExpression.evaluateValue(JSExpression.java:251)
   com.ibm.jscript.JSExpression.evaluateValue(JSExpression.java:234)
   com.ibm.xsp.javascript.JavaScriptInterpreter.interpret(JavaScriptInterpreter.java:221)
   com.ibm.xsp.binding.javascript.JavaScriptMethodBinding.invoke(JavaScriptMethodBinding.java:111)
   com.ibm.xsp.application.ActionListenerImpl.processAction(ActionListenerImpl.java:60)
   javax.faces.component.UICommand.broadcast(UICommand.java:324)
   com.ibm.xsp.component.UIEventHandler.broadcast(UIEventHandler.java:366)
   com.ibm.xsp.component.UIDataPanelBase.broadcast(UIDataPanelBase.java:400)
   com.ibm.xsp.extlib.component.layout.UIVarPublisherBase.broadcast(UIVarPublisherBase.java:181)
   com.ibm.xsp.component.UIDataPanelBase.broadcast(UIDataPanelBase.java:400)
   com.ibm.xsp.component.UIViewRootEx.broadcast(UIViewRootEx.java:1535)
   javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:307)
   javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:428)
   com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:94)
   com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:210)
   com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:96)
   com.ibm.xsp.controller.FacesControllerImpl.execute(FacesControllerImpl.java:250)
   com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:223)
   com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:200)
   com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:160)
   com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:137)
   com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:103)
   com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:576)
   com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1267)
   com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:847)
   com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:796)
   com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:565)
   com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1251)
   com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:598)
   com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:421)
   com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:341)
   com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:297)
   com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:272)
javax.sql.rowset.spi.SyncProviderException: Cannot commit when autoCommit is enabled.
   com.sun.rowset.CachedRowSetImpl.acceptChanges(CachedRowSetImpl.java:902)
   com.sun.rowset.CachedRowSetImpl.acceptChanges(CachedRowSetImpl.java:934)
   com.ibm.xsp.extlib.jdbc.model.JdbcRowSetAccessor.acceptChanges(JdbcRowSetAccessor.java:421)
   sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
   sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
   java.lang.reflect.Method.invoke(Method.java:611)
   com.ibm.jscript.types.JavaAccessObject.call(JavaAccessObject.java:321)
   com.ibm.jscript.types.FBSObject.call(FBSObject.java:161)
   com.ibm.jscript.ASTTree.ASTCall.interpret(ASTCall.java:175)
   com.ibm.jscript.ASTTree.ASTProgram.interpret(ASTProgram.java:119)
   com.ibm.jscript.ASTTree.ASTProgram.interpretEx(ASTProgram.java:139)
   com.ibm.jscript.JSExpression._interpretExpression(JSExpression.java:435)
   com.ibm.jscript.JSExpression.access$1(JSExpression.java:424)
   com.ibm.jscript.JSExpression$2.run(JSExpression.java:414)
   java.security.AccessController.doPrivileged(AccessController.java:284)
   com.ibm.jscript.JSExpression.interpretExpression(JSExpression.java:410)
   com.ibm.jscript.JSExpression.evaluateValue(JSExpression.java:251)
   com.ibm.jscript.JSExpression.evaluateValue(JSExpression.java:234)
   com.ibm.xsp.javascript.JavaScriptInterpreter.interpret(JavaScriptInterpreter.java:221)
   com.ibm.xsp.binding.javascript.JavaScriptMethodBinding.invoke(JavaScriptMethodBinding.java:111)
   com.ibm.xsp.application.ActionListenerImpl.processAction(ActionListenerImpl.java:60)
   javax.faces.component.UICommand.broadcast(UICommand.java:324)
   com.ibm.xsp.component.UIEventHandler.broadcast(UIEventHandler.java:366)
   com.ibm.xsp.component.UIDataPanelBase.broadcast(UIDataPanelBase.java:400)
   com.ibm.xsp.extlib.component.layout.UIVarPublisherBase.broadcast(UIVarPublisherBase.java:181)
   com.ibm.xsp.component.UIDataPanelBase.broadcast(UIDataPanelBase.java:400)
   com.ibm.xsp.component.UIViewRootEx.broadcast(UIViewRootEx.java:1535)
   javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:307)
   javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:428)
   com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:94)
   com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:210)
   com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:96)
   com.ibm.xsp.controller.FacesControllerImpl.execute(FacesControllerImpl.java:250)
   com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:223)
   com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:200)
   com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:160)
   com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:137)
   com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:103)
   com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:576)
   com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1267)
   com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:847)
   com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:796)
   com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:565)
   com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1251)
   com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:598)
   com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:421)
   com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:341)
   com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:297)
   com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:272)




Taken Actions by Owners

No actions have been taken yet.


Documents
In this field you can enter the actual request.

You can use the rich text editor for rich text formating. You can also enter HTML to embed objects, e.g. to embed a YouTube video or a screenshot of the project. In this case use '[' and ']' to mark the passthrough HTML as such.

Please note that the first time you use the new UI your description is converted from rich text to MIME. You might want to copy and paste the raw plain text from the old UI in the new UI so that you don't loose information.
In this field owners can describe what they have done or want to do.

You can use the rich text editor for rich text formating. You can also enter HTML to embed objects, e.g. to embed a YouTube video or a screenshot of the project. In this case use '[' and ']' to mark the passthrough HTML as such.

Please note that the first time you use the new UI your description is converted from rich text to MIME. You might want to copy and paste the raw plain text from the old UI in the new UI so that you don't loose information.