EAS系统报表接收报尝试重连- no more data from socket错误处理
问题描述
登录EAS客户端,操作“报表接收”功能,以前操作正常,突然操作报以下尝试重连的错误。如下图所示:
解决方案
原因分析:
1、查看EAS实例的apusic日志,发现以下跟报表接收有关执行的SQL语句
SELECT "T0"."FID" "ID", "T0"."FISCONTROLLED" "ISCONTROLLED", "T0"."FCANMODIFY" "CANMODIFY", "T0"."FSUPERIORCONTROLID" "SUPERIORCONTROLID", "T0"."FISINCLUDESUB" "ISINCLUDESUB", "T0"."FPARAMITEMID" "t1.id" FROM "T_BAS_PARAMMANAGERCONTROL" "T0" WHERE "T0"."FPARAMITEMID" IN ('NBYAAAArD3ztKpea', 'NBYAAAArDULtKpea' ...IN值很多导致报了no more data from socket错误,从而“报表接收”一执行就中断了。
2、报表用得时间长了,参数管理控制表中存在垃圾不可用(重复)的数据多了,导致查询sql语句in中很多ID值,SQL语句超长报no more data from socket错误。
解决方法:
1、 对T_BAS_PARAMITEM表进行瘦身处理,处理方法如下所示:
--在EAS查询分析器中执行如下脚本备份(备份很重要,避免操作有问题可以还原)
SELECT * into T_BAS_PARAMITEM20221215 FROM T_BAS_PARAMITEM
--删除重复数据
DELETE FROM T_BAS_PARAMITEM WHERE fid in (
SELECT pi1.fid FROM t_bas_paramitem pi1 LEFT OUTER JOIN t_bas_paramitem pi2 on pi1.FKEYID = pi2.FKEYID where pi1.FORGUNITID = pi2.FORGUNITID and pi1.fid != pi2.fid
)
--删除非集团管控参数转集团管控参数重复
DELETE FROM T_BAS_PARAMITEM WHERE FKEYID in (
SELECT fid FROM t_bas_param where FNUMBER in ('GR_CSL_ELIMMETHOD_001','GR_CSL_SupportCrossMerger','GR_CSL_GenerateAllOrgAdjust','GR_CSL_MERGETYPE_004')
)
--- 重新查询是否存在重复数据
SELECT FKEYID ,FORGUNITID ,count(1) FROM t_bas_paramitem group by FKEYID ,FORGUNITID having count(1) >1
EAS系统报表接收报尝试重连- no more data from socket错误处理
本文2024-09-22 20:21:13发表“eas cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-eas-113082.html