报表系统经过长时间运行之后,可能会出现性能下降的现象。可能的原因之一是系统内部日志文件变得太大。葡萄城报表系统内部采用SQLite数据库保存各种资源信息和系统运行日志。此日志是指系统内部日志,不包括用户访问日志,可放心清理。
以下方法可清理报表系统内部日志:
(1)下载SQLite Studio工具以备用。
该工具的下载地址:
https://www.oschina.net/news/80855/sqlitestudio-3-1-1
(2)停止报表服务
在【计算机管理】中的【服务】列表中,停止葡萄城报表的两项服务:
ActiveReports Agent
ActiveReports Server
如下图:
(3)使用SQLite Studio工具,打开系统内部日志文件
内部日志文件保存在葡萄城报表安装目录下的 \Data 文件夹中,文件名为 Journal.db,如下图:
(4)在SQLite Studio中,顺序执行以下SQL语句
DELETE FROM TaskEntry
DELETE FROM Task
DELETE FROM JobRequest
DELETE FROM JobEntry
DELETE FROM Job
如下图:
(5)重启报表服务。
为避免每隔一段时间就需要手工执行上述操作,可修改配置文件,以实现定期自动清理内部日志,方法是:
用记事本或其他编辑器打开 C:\葡萄城报表\Server\ActiveReports.Server.Host.exe.config 文件,找到 <appSettings> 部分,添加
<add key="ControllerService.JournalCleanup.Interval" value="1:00:00"/>
<add key="ControllerService.JournalCleanup.MaxAge" value="1.00:00:00"/>
之后重启 ActiveReports Server服务。
如果报表服务因故无法停止,必须在服务运行状态下强制清理内部日志,可下载下面的工具,执行内部数据库日志清理: