用友股份-LE服务支持部技术方案--《NC中间件启动滚屏报错问题解决案例》建立日期:2013-04-01修改日期:xxxx-xx-xx文档属性:客户文控编号:LE-DY-JS-2013-00432/6文档控制创建记录审阅人姓名所属部门职位审阅签字发布人姓名所属部门发布时间日期作者所属部门邮件地址版本2013-04-01郭智超V1.03目录NC中间启动滚屏报错问题解决案例..................................................................................4一.系统环境..................................................................................................................4二.问题描述................................................................................................................4三.检查分析................................................................................................................5四.解决方法................................................................................................................5五.其他.......................................................................................................................64NC中间件启动滚屏报错问题解决案例一.系统环境着重描述与此问题相关的环境信息。可以是:NC版本:v5.7使用的模块:eHR数据量大小:数据库版本:oracle11g操作系统:windows2008服务器配置:中间件及集群方式:NC中间件,单机在线人数:………二.问题描述启动NC中间件,一直提示出现如下错误:1、单行查询返回多个行2、人员任职结束日期必须小于人员任职开始日期。5三.检查分析通过向现场顾问了解,前台的业务操作提交了一个批量离职的后台任务,执行间隔为1s,同时启动中间件的滚屏频率也是1s,基本判断滚屏的问题应该是由此后台任务引起。将现场代码和数据库还原进行问题排查,报错1“单行查询返回多个行”比较明显,应该是数据库sql语句体现的问题,故将报错日志反馈维护开发部进行代码分析。问题2“人员任职结束日期必须小于人员任职开始日期”,从报错看应是代码的校验提示信息,通过NMC跟踪得到,报错系后台任务预警错误信息,查询后台预警表,存在报错的记录,故问题应从检查错误记录的形成来源和去向入手,前台操作是离职单据,那么错误来源应该是离职单,通过后台查询离职单据主子表,发现了相关记录,将错误记录删除,重启中间件,报错2依旧出现,再次远程现场,发现客户配置了多个数据源,其他数据库中也存在错误记录,以此都删除后,问题解决。四.解决方法报错1,研发提供了补丁,NC_HR_TRN-NC5.7-Patch-20130427-204495500。报错2,将错误记录删除,重启中间件,问题解决。6五.其他此问题不只在NC中间上出现,通过测试,换成was中间件同样会报错,解决方法同上。