我在提取页面数据到update页面的时候报错:com.vmsii.common.exceptions.DelegateException: --- The error occurred in config/sqlmap-config/PortalAnnouncement.xml. --- The error occurred while applying a result map. --- Check the PortalAnnouncement.resultMap-PortalAnnouncement. --- The error happened while setting a property on the result object. --- Cause: java.sql.SQLException: [BEA][DB2 JDBC Driver]Cursor identified in Fetch statement is not open. It could have been closed by a previous commit or rollback. at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback(GeneralStatement.java:185) at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryForObject(GeneralStatement.java:104) at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:566) at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:541) at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForObject(SqlMapSessionImpl.java:106) at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForObject(SqlMapClientImpl.java:83) at com.vmsii.common.dao.CommonDAOImpl.getObject(CommonDAOImpl.java:294) at com.vmsii.admin.announcement.dao.PortalAnnouncementDAO.search(PortalAnnouncementDAO.java:63) at com.vmsii.common.ejb.CommonEJBImpl.search(CommonEJBImpl.java:166) at com.vmsii.admin.announcement.AnnouncementManagerBean.getPotalAnnouncementById(AnnouncementManagerBean.java:190) at com.vmsii.admin.announcement.AnnouncementManager_41vdao_EOImpl.getPotalAnnouncementById(AnnouncementManager_41vdao_EOImpl.java:361) at com.vmsii.admin.announcement.AnnouncementManager_41vdao_EOImpl_CBV.getPotalAnnouncementById(Unknown Source) at com.vmsii.ui.vss.admin.announcement.delegate.PortalAnnouncementDelegate.getPortalAnnouncementById(PortalAnnouncementDelegate.java:206) at com.vmsii.ui.vss.admin.announcement.action.GetPortalAnnouncementAction.execute(GetPortalAnnouncementAction.java:37) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462) at javax.servlet.http.HttpServlet.service(HttpServlet.java:763) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) 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:283)
Cursor identified in Fetch statement is not open. It could have been closed by a previous commit or rollback. 游标未打开,可能是因为上一次的提交或回滚被关闭了. 我的经验,如果我没记错,Oracle的API里面,CLOB字段直接能用getString获取的,不需要游标.不知道DB2是不是有什么不一样.