页面树结构
转至元数据结尾
转至元数据起始

(本文档仅供参考)

问题描述

交互式仪表盘,一旦查询无数据,会报错Populating member cache with members for

errorMessageMondrian Error:Internal error: Populating member cache with members for []; sql=[]
errorStackTrace=mondrian.olap.MondrianException: Mondrian Error:Internal error: Populating member cache with members for []; sql=[]
	at mondrian.resource.MondrianResource$_Def0.ex(MondrianResource.java:1002)
	at mondrian.olap.Util.newInternal(Util.java:2566)
	at mondrian.olap.Util.newError(Util.java:2582)
	at mondrian.rolap.SqlStatement.handle(SqlStatement.java:386)
	at mondrian.rolap.SqlTupleReader.prepareTuples(SqlTupleReader.java:607)
	at mondrian.rolap.SqlTupleReader.readTuples(SqlTupleReader.java:732)
	at mondrian.rolap.RolapNativeSet$SetEvaluator.executeList(RolapNativeSet.java:310)
	at mondrian.rolap.RolapNativeSet$SetEvaluator.execute(RolapNativeSet.java:226)
	at mondrian.olap.fun.NonEmptyCrossJoinFunDef$1.evaluateList(NonEmptyCrossJoinFunDef.java:252)
	at mondrian.olap.fun.DistinctFunDef$CalcImpl.evaluateList(DistinctFunDef.java:54)
	at mondrian.olap.fun.NonEmptySubSetFunDef$1.evaluateList(NonEmptySubSetFunDef.java:114)
	at mondrian.calc.impl.AbstractListCalc.evaluateIterable(AbstractListCalc.java:70)
	at mondrian.rolap.RolapResult.executeAxis(RolapResult.java:1317)
	at mondrian.rolap.RolapResult.evalLoad(RolapResult.java:830)
	at mondrian.rolap.RolapResult.loadMembers(RolapResult.java:800)
	at mondrian.rolap.RolapResult.<init>(RolapResult.java:437)
	at mondrian.rolap.RolapConnection.executeInternal(RolapConnection.java:777)
	at mondrian.rolap.RolapConnection.access$000(RolapConnection.java:102)
	at mondrian.rolap.RolapConnection$1.call(RolapConnection.java:709)
	at mondrian.rolap.RolapConnection$1.call(RolapConnection.java:707)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: com.ibm.db2.jcc.am.SqlException: [jcc][t4][10120][10898][4.21.29] 操作无效:已关闭 result set。 ERRORCODE=-4470, SQLSTATE=null
	at com.ibm.db2.jcc.am.kd.a(kd.java:794)
	at com.ibm.db2.jcc.am.kd.a(kd.java:66)
	at com.ibm.db2.jcc.am.kd.a(kd.java:116)
	at com.ibm.db2.jcc.am.ResultSet.checkForClosedResultSet(ResultSet.java:4699)
	at com.ibm.db2.jcc.am.ResultSet.getMetaDataX(ResultSet.java:1970)
	at com.ibm.db2.jcc.am.ResultSet.getMetaData(ResultSet.java:1962)
	at org.apache.commons.dbcp.DelegatingResultSet.getMetaData(DelegatingResultSet.java:283)
	at mondrian.rolap.sqlitecache.OriginalResultSetInvocationHandler.invoke(OriginalResultSetInvocationHandler.java:44)
	at com.sun.proxy.$Proxy79.next(Unknown Source)
	at mondrian.rolap.SqlTupleReader.prepareTuples(SqlTupleReader.java:538)
	... 19 more


解决方案

原因一:

OLAP版本与war包版本不匹配,若确认版本不匹配,需要进行更新。

可参考该文档获取不同组件的版本信息:如何获取smartbi当前使用版本信息

原因二: 

数据库配置问题。从网上查询相关信息,初步判断是DB2基于jdbc驱动从表中取出CLOB转String报错,可参考网上方案,在smartbi数据源url中添加参数  :progressiveStreaming=2 并在数据库端执行 db2set DB2_RESTRICT_DDF=TRUE,尝试解决该问题,具体可以参考网上的资料:https://blog.csdn.net/m0_60725291/article/details/119542964


  • 无标签