每次数据库发生更改时,为什么需要刷新Pentaho报表数据缓存

时间:2015-04-06 13:47:23

标签: pentaho

如果数据库中存在数据,我想显示数据不可用,否则只显示该数据。我在MySQL中创建了一个存储过程来实现这一点,并且它在MySQL Workbench中运行时工作正常。该过程有两个输入参数和一个输出参数,以显示文本“数据不可用,如果表中没有数据。

当我在Pentaho Report Designer(PRD)中调用此过程时,它会在没有数据时显示数据和数据不可用时的数据。但是我每次都从表中删除数据或在相关表中加载数据时刷新报表数据缓存。

每次数据库发生变化时,如何手动刷新报表缓存?

2 个答案:

答案 0 :(得分:3)

尝试按照以下步骤更改BA服务器中的缓存计时。
1)停止BA服务器。
2)导航到\biserver-ee\tomcat\webapps\pentaho\WEB-INF\classes
3)备份文件ehcache.xml
4)打开文件ehcache.xml
5)向下滚动到内容。

<cache name="report-dataset-cache"
maxElementsInMemory="50"
eternal="false"
overflowToDisk="false"
timeToIdleSeconds="1"
timeToLiveSeconds="2"
diskPersistent="false"
diskExpiryThreadIntervalSeconds="1"
/>


6)减少timeToIdleSeconds,timeToLiveSeconds,diskExpiryThreadIntervalSeconds(默认情况下为300秒左右)的值
7)保存并重启BA服务器。

改变珠三角:

根据以下PRD图像进行更改

enter image description here

答案 1 :(得分:0)

在工具/选项下,您可以禁用数据库缓存的一般使用