解决西门子ebr设备模块更新报错,EQP_STATEVALUE more than one row
问题排查报告
原文来至
问题跟踪
首先定位到EQP_STATEVALUE表,发现数据出现重复:
执行语句取出所有非重复数据:
select t.stateid,t.fk_statelistcst,t.code,t.label,t.functionid,t.pk_id,t.dlu,t.dluunit,t.cpt,t.haseqpimpact from EQP_STATEVALUE t group by t.stateid,t.fk_statelistcst,t.code,t.label,t.functionid,t.pk_id,t.dlu,t.dluunit,t.cpt,t.haseqpimpact
然后删除并还原,本以为应该就好了,发现一会数据又上来了,说明脏数据不只是这个,停掉服务继续排查
在设备管理点修改设备,发现弹出下面的报错:
根据提示,找到该Function:
发现该函数第30行有个PK_ID=… 这里报错,说明后面的语句查询到的值不止一个!
对数据追踪:
SELECT EQP_PTYVAL.FK_PROPERTYTYPE, EQP_PTYVAL.ENTITYID, EQP_PTYVAL.ENTITYCSTID
FROM EQP_PTYVALWHERE FK_CLASSID = 1016 AND FK_PROPERTYID = 730
继续追:
发现这个重复了,备份并删除!
本以为好了,点击更新出现如下报错:
然后根据提示,排查Eqp_Eqpexe_Statustransmgt
这个表,发现并没有什么重复数据,崩溃!!!!
只能一个个表去排查,最终发现EQP_TRANVALUE
下面数据有异常!
按照上面的去重方法,把
这里数据去除重复,在去更新:
完美!!!
总结
- EQP_PTYVAL
表有一个脏数据,导致服务在自动更新设备状态的时候重复的向``EQP_STATEVALUE
和EQP_TRANVALUE
插入了数据
如何避免
在PI运行的时候切勿去操作设备类或修改属性,如果这个设备正在被PI占用,就会出现这个情况。
EQP_TRANVALUE`插入了数据
如何避免
在PI运行的时候切勿去操作设备类或修改属性,如果这个设备正在被PI占用,就会出现这个情况。
解决西门子ebr设备模块更新报错,EQP_STATEVALUE more than one row相关推荐
- 解决一个R语言/Rstudio更新报错问题
某次更新R studio之后,运行代码总是出现下面这个报错,不管是导入数据还是rm(list=ls()). Error in exists(cacheKey, where = .rs.WorkingD ...
- 解决安装python第三方模块 '-mno-cygwin'报错的问题
修改一个文件 $PYTHON_HOME$\Lib\distutils\cygwinccompiler.py 去掉里边的 -mno-cygwin 即可 转载于:https://www.cnblogs.c ...
- windows10更新报错0x80244022的解决方法
我的目的是想安装linux子系统,安装前windows必须先更新,结果更新出错了. 一开始我去百度查,查的关于都是报错0x80244022的解决方法,结果都没有办法解决.最后想着也看看也是更新报错,但 ...
- IIS错误代码500.21 ,Nhibernate更新报错,委托的使用。action传参数
快速阅读 IIS错误代码500.21 ,Nhibernate更新报错,委托的使用.action传参数 IIS错误代码500.21 HTTP 错误 500.21 - Internal Server Er ...
- cocos creator 热更新报错 ERROR_DOWNLOAD_MANIFEST: not permitted by network security policy
热更新报错信息:'Fail to download manifest file, hot update skipped.' not permitted by network security pol ...
- Conda更新报错:requests.exceptions.HTTPError: 404 Client Error: Not Found for url: https://mirrors.tuna.t
Conda更新报错:requests.exceptions.HTTPError: 404 Client Error: Not Found for url: https://mirrors.tuna.t ...
- 解决Vue项目在iOS 10 报错 “Cannot declare a let variable twice: ‘r‘”
问题描述 如下图所示,H5页面在iPhone7P及IPhone5c(iOS 10)手机上打开白屏,使用vconsole查看报错原因是Cannot declare a let variable twic ...
- 热更新报错 log.error('[WDS] Errors while compiling. Reload prevented.');
log.error('[WDS] Errors while compiling. Reload prevented.');中的WDS其实是webpack-dev-serverwebpack的意思,用来 ...
- 解决:安装NVIDIA推荐驱动报错、nvidia-smi报错 Failed to initialize NVML
解决:安装NVIDIA推荐驱动报错.nvidia-smi报错 Failed to initialize NVML: Driver/library version mismatch 文章目录 解决:安装 ...
最新文章
- 《评人工智能如何走向新阶段》后记(再续16)
- Android开发之Handler
- 三瞬属性matlab,matlab:out of memory 1
- python中update什么意思_如何在Python中更新字典中键的值?
- java mysql 配置_Java连接MySQL数据库详细分析
- 控件必须放在具有 runat=server 的窗体标记内错误的解决方法
- CentOS8安装jdk1.8
- pandas—显示行索引与列索引(数组或者列表)
- 每周收获(11-13)
- UG NX 12 对象的隐丽与顺复显示
- vba 循环读取单元格_VBA入门直播课程大纲!
- C语言实现求斐波那契数列中的第n项
- 浅谈输入阻抗、输出阻抗和阻抗匹配
- 调用新浪网址缩短服务生成网址短链接
- 【python OpenCV3.3图片处理教程】-图像基本运算、色彩空间、ROI、模糊去噪
- 朋友圈(java版)
- 常用三角函数的无穷级数乘积公式推导详细过程与图形展示
- php ios接口,关于ios 调用php接口
- python 正弦曲线_使用python生成正弦波数据
- 细胞膜负载天然产物竹红菌乙素纳米囊泡|细胞来源的纳米囊泡(Gesicle)包裹药物