[亿信BI4.5] Expected one result (or null) to be returned by selectOne(), but found: 2
-
邻居门口晒花椒 初学数据Lv2
发表于2023-4-18 13:37
悬赏30
已解决
部分用户进某一BI界面时报错Expected one result (or null) to be returned by selectOne(), but found: 2
其他用户及admin用户则打开正常
报错用户打开界面报错如图所示,正常用户打开时查看日志,信息只到红框以上部分。
查询select * from ( select parentdir_, filename_, count(*) as cnt from es10_vfs group by parentdir_, filename_ ) t where t.cnt>1 order by cnt desc无重复数据
进一步自测排查问题:
问题用户为A(目前碰到两户),问题分析页面为X。X页面挂在门户管理里面通过页面ID跳转。
情况一:测试A进X时报错,但是X页面设置报表触发的口径执行没有问题,该报错内容大概意思为执行口径应该只查询出一条数据,但是查出了两条。
情况二:测试其他用户进入X时无报错,正常执行X页面内设置的口径,无红框报错内容。
情况三:清空X页面所有信息,只保留空白版(X本身无口径执行),A进入X时仍报错。
情况四:还原X页面,克隆X页面X1,将克隆页X1的ID挂到门户上,A用户进入不报错。
分析:
所有用户进入页面时会查询类似日志表,应该只查出该用户对应该页面只有一条记录,查出后删除原纪录计入新纪录,但是该用户与该界面关联查询时查出了两条,导致报错。所以换用户与换页面ID都可以正常。找到类似ES10_LOG,但是该表内用户与页面对应的记录皆为多条,不像是有一条的情况,所以不确定是不是这个表有别的查询条件、或者是在记录这个表之前还有类似的表。
由于本地的开发程序无权限查看,不知道有没有大佬帮忙定位错误。
6个回答
邻居门口晒花椒 发表于 2023-4-19 10:24
自测跟分析表内容无关,我删除分析表所有项目只留空白版,该用户进入时也会报这个错 ...
只留空白版是只有一个空的门户?门户中有做什么调整呢,其他门户有出现类似报错吗?
可以看下java控制台,看下详细的报错信息;也可以开启系统日志的debug模式,看报错时后台执行的sql。
进一步自测排查问题:
问题用户为A(目前碰到两户),问题分析页面为X。X页面挂在门户管理里面通过页面ID跳转。
情况一:测试A进X时报错,但是X页面设置报表触发的口径执行没有问题,该报错内容大概意思为执行口径应该只查询出一条数据,但是查出了两条。
情况二:测试其他用户进入X时无报错,正常执行X页面内设置的口径,无红框报错内容。
情况三:清空X页面所有信息,只保留空白版(X本身无口径执行),A进入X时仍报错。
情况四:还原X页面,克隆X页面X1,将克隆页X1的ID挂到门户上,A用户进入不报错。
分析:
所有用户进入页面时会查询类似日志表,应该只查出该用户对应该页面只有一条记录,查出后删除原纪录计入新纪录,但是该用户与该界面关联查询时查出了两条,导致报错。所以换用户与换页面ID都可以正常。找到类似ES10_LOG,但是该表内用户与页面对应的记录皆为多条,不像是有一条的情况,所以不确定是不是这个表有别的查询条件、或者是在记录这个表之前还有类似的表。
由于本地的开发程序无权限查看,不知道有没有大佬帮忙定位错误。
邻居门口晒花椒 发表于 2023-4-19 14:44
进一步自测排查问题:
问题用户为A(目前碰到两户),问题分析页面为X。X页面挂在门户管理里面通过页面ID跳 ...
将系统日志级别调整为debug模式,可以看到对应执行的sql,参考这个:https://bbs.esensoft.com/thread-137913-1-1.html
目前的测试都是门户与报表之间,有试过清理报表的结果表吗?