公司用的K3版为10.1,是个老版本,之前一直运行的很正常。昨天2020年11月16日有同事反应没无登录,错误信息大致如下:
系统正忙,请稍候再尝试。错误代码5(5H): KdSvrMgr.clsAct.LockDB
日志中有以下错误:11-16 11:48:13 [ERROR] Function: MActMgr::RunSqlCommand
Error number: -2147467259
Source: Microsoft JET Database Engine
Desc: 无效的参数量。
显然是个数据连接错误。
明显的K3,有两个数据库相关,一个账套管理文件AcctCtl.dat;一个具体账套的sqlserver数据库。
检查sqlserver数据库可以正常打开;
AcctCtl.dat 大小为 2,097,124 KB,AcctCtl.dat
是Access数据库文件,主要存账套及连接相信息
最近没有修改过服务器上任何配置,考虑是不是跟运行时间有关系。
经过搜索,确定了因为AcctCtl.dat大于2G后无法读取引起的。
参考:K3中异常和恢复,文件增大会出现登录故障
https://wenku.baidu.com/view/99c2eaedf8c75fbfc77db2e7.html
确定思路:删除AcctCtl.dat其中有关日志类的数据(此处为账套备份日志); 收缩(压缩)文件大小。
解决方法:
服务器端金蝶安装目录(金蝶管理工具所在目录,一般为 %system%/KDcom)即为件AcctCtl.dat文件所在目录;
终止KDSVRMGR.EXE进程;
复制AcctCtl.dat作为备份;
打开‘账套管理’(开始-金蝶k3-中间层服务部件-账套管理),找到‘数据库-账套批量自动备份’,日志 ,根据需要删除日志;
终止KDSVRMGR.EXE进程;
复制AcctCtl.dat作为备份;
使用Office Access打开所有文件,选择AcctCtl.dat,从工具菜单选择‘数据库实用工具-压缩和修复数据库’,保存即可。保存后大小缩为828kb。
用压(收)缩后的新文件替换原文件,再次登录,登录成功,问题解决
https://wenku.baidu.com/view/99c2eaedf8c75fbfc77db2e7.html
参考Access收缩数据库文件:https://jingyan.baidu.com/article/fd8044fafc9ca15031137a98.html