起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 239|回复: 10

【结】数据保存时间隔性报错:被其他用户占用**

[复制链接]
发表于 2009-3-17 09:22:52 | 显示全部楼层 |阅读模式
目前我们的系统已经在用户那使用,有好几个他们经常使用的功能不定时的报错,说已被其他用户占用,试过论坛上的好多解决方法,都没有用,如把更新改为只按主键更新
那些功能都是有可能好几个用户使用的,是否X3没有处理这种并发性,
回复

使用道具 举报

发表于 2009-3-17 10:08:24 | 显示全部楼层
楼主,问一下,把数据集的更新选项改成按主键更新也会不定时的报这个提示吗?
服务端报的还是客户端报的?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-3-17 10:11:10 | 显示全部楼层
是的,改成主键更新也会报这个错误,
服务端报的还是客户端报的?是什么意思,肯定是客户端报的了,用户只能在客户段通过IE访问。
回复 支持 反对

使用道具 举报

发表于 2009-3-17 10:13:23 | 显示全部楼层
我的意思是服务端是否有报错?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-3-17 10:25:55 | 显示全部楼层

2009-3-17 9:59:16 com.caucho.hessian.server.HessianSkeleton invoke
警告: java.lang.Exception: invoke batch method error, error occur during invoke ApplyUpdates method, 当前修改的数据已经被其他用户修改,不能进行保存操作. SQL:UPDATE TBL_REQUETINFO SET FEventState=?  WHERE FGUID = ?  AND FRequCode = ?  AND FEventCode = ?  AND FEventState = ?  AND FRequType = ?  AND FRequSource = ?  AND FDmanderName = ?  AND FDmanderOrg = ?  AND FDmanderDept = ?  AND FCREATOR = ?  AND FCreatorId = ?  AND FCreatorDept = ?  AND FCreatorDeptId = ?  AND FCreateTime = ?  AND FDisposeTime is NULL AND FSUMMARY = ?  AND FOccurTime = ?  AND FContactMode = ?  AND FRequFormState = ?  AND FRoomNum = ?  AND XXXZ is NULL AND SSJDM is NULL AND QYZZJGDM is NULL AND YXDZ is NULL
java.lang.Exception: invoke batch method error, error occur during invoke ApplyUpdates method, 当前修改的数据已经被其他用户修改,不能进行保存操作. SQL:UPDATE TBL_REQUETINFO SET FEventState=?  WHERE FGUID = ?  AND FRequCode = ?  AND FEventCode = ?  AND FEventState = ?  AND FRequType = ?  AND FRequSource = ?  AND FDmanderName = ?  AND FDmanderOrg = ?  AND FDmanderDept = ?  AND FCREATOR = ?  AND FCreatorId = ?  AND FCreatorDept = ?  AND FCreatorDeptId = ?  AND FCreateTime = ?  AND FDisposeTime is NULL AND FSUMMARY = ?  AND FOccurTime = ?  AND FContactMode = ?  AND FRequFormState = ?  AND FRoomNum = ?  AND XXXZ is NULL AND SSJDM is NULL AND QYZZJGDM is NULL AND YXDZ is NULL
        at com.justep.service.action.base.BatchCallAction.innerExec(Unknown Source)
        at com.justep.service.action.base.BatchCallAction.execute(Unknown Source)
        at com.justep.service.BizServiceImp.execute(Unknown Source)
        at sun.reflect.GeneratedMethodAccessor43.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at com.caucho.hessian.server.HessianSkeleton.invoke(HessianSkeleton.java:157)
        at com.justep.hessian.HessianServlet.service(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
        at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:831)
        at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:652)
        at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1203)
        at java.lang.Thread.run(Thread.java:595)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-3-17 10:31:40 | 显示全部楼层
这是昨天的
2009-3-16 9:07:18 com.caucho.hessian.server.HessianSkeleton invoke
警告: java.lang.Exception: invoke batch method error, error occur during invoke ApplyUpdates method, 当前修改的数据已经被其他用户修改,不能进行保存操作. SQL:UPDATE TCOMMONCODE SET FCONTENT=?  WHERE FCODE = ?  AND FSCOPE = ?  AND FPARENTCODE is NULL AND FCONTENT = ?  AND FDESCRIPTION = ?
java.lang.Exception: invoke batch method error, error occur during invoke ApplyUpdates method, 当前修改的数据已经被其他用户修改,不能进行保存操作. SQL:UPDATE TCOMMONCODE SET FCONTENT=?  WHERE FCODE = ?  AND FSCOPE = ?  AND FPARENTCODE is NULL AND FCONTENT = ?  AND FDESCRIPTION = ?
        at com.justep.service.action.base.BatchCallAction.innerExec(Unknown Source)
        at com.justep.service.action.base.BatchCallAction.execute(Unknown Source)
        at com.justep.service.BizServiceImp.execute(Unknown Source)
        at sun.reflect.GeneratedMethodAccessor43.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at com.caucho.hessian.server.HessianSkeleton.invoke(HessianSkeleton.java:157)
        at com.justep.hessian.HessianServlet.service(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
        at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:831)
        at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:652)
        at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1203)
        at java.lang.Thread.run(Thread.java:595)
2009-3-16 9:09:16 com.caucho.hessian.server.HessianSkeleton invoke
警告: java.lang.AbstractMethodError: oracle.jdbc.driver.OracleResultSetImpl.getBlob(I)Ljava/sql/Blob;
java.lang.AbstractMethodError: oracle.jdbc.driver.OracleResultSetImpl.getBlob(I)Ljava/sql/Blob;
        at org.apache.tomcat.dbcp.dbcp.DelegatingResultSet.getBlob(DelegatingResultSet.java:511)
        at com.justep.sql.ResultSetBlobColumnWriter.writeData(Unknown Source)
        at com.justep.sql.ResultSetPacker.packetRows(Unknown Source)
        at com.justep.sql.ResultSetPacker.packet(Unknown Source)
        at com.justep.sql.ResultSetPacker.<init>(Unknown Source)
        at com.justep.sql.ResultSetPacker.packet(Unknown Source)
        at com.justep.sql.ResultSetPacker.packet(Unknown Source)
        at com.justep.service.action.database.GetRecordsActionV2.doExec(Unknown Source)
        at com.justep.service.action.base.SupportAction.execute(Unknown Source)
        at com.justep.service.action.base.SupportAction.execute(Unknown Source)
        at com.justep.service.BizServiceImp.execute(Unknown Source)
        at sun.reflect.GeneratedMethodAccessor43.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at com.caucho.hessian.server.HessianSkeleton.invoke(HessianSkeleton.java:157)
        at com.justep.hessian.HessianServlet.service(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
        at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:831)
        at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:652)
        at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1203)
        at java.lang.Thread.run(Thread.java:595)
回复 支持 反对

使用道具 举报

发表于 2009-3-17 10:32:01 | 显示全部楼层
TBL_REQUETINFO 这个表的主键是多个字段组成的吗?从提示信息看,Where 后面有多个字段,这些都是主键吗?如果不是,那么你在哪里修改 更新选项 的?
另外,你自己定义了SQL语句吗?

其实这需要看你数据的严谨型而定,主键基本上保存后不会被任何客户端修改,那么这样Where 主键的话,肯定能找到符合条件的记录,只是这样的话,多个客户端更新同一条记录的同一个字段的话,那么数据库上保存的肯定是最后一个提交的人修改的值,其他的都被覆盖掉
回复 支持 反对

使用道具 举报

发表于 2009-3-17 10:32:08 | 显示全部楼层
看这个错误,你没设置主键更新的选项啊?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-3-17 10:36:15 | 显示全部楼层
之前设置过,好像没有效,又改回去了,不好意思,我把他改为主键更新再试几天,有问题我再发新帖,这贴先结了
回复 支持 反对

使用道具 举报

发表于 2009-3-17 10:39:20 | 显示全部楼层
好。
不过,你如果修改后,没有效,如果资源保存并签入,签入后并刷新缓存,客户端重新登陆,还是提示这样的错误,那么看看后台的提示,如果Where后面没有变化,那么需要检查一下是否自己定义SQL语句等等。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-24 04:41 , Processed in 0.052984 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表