1. 概述
數據決策系統中除平台屬性配置以外的所有信息,包括目錄樹設置、模板定時任務信息等,均存儲於 FineDB 數據庫。
FineReport 支持使用内置 FineDB 數據庫或啓用外接 FineDB 數據庫。
2. 内置數據庫
FineReport 報表工程内置了一個 HSQL 數據庫,作爲 FineDB 數據庫。
2.1 存儲位置
保存在 %FR_Home%/webapps/WEB-INF/embed 目錄下。
2.2 數據庫文件
文件名 | 是否必要 | 存放内容 |
---|---|---|
db.properties | 必要 | 存放 HSQL 數據庫的屬性 |
db.script | 必要 | 保存表及數據 |
db.lck | 可無 | 表示數據庫處於打開狀态 |
db.log | 可無 | 文件包含當前數據庫的變更 |
db.lobs | 可無 | 保存某些類型的數據 |
db.tmp | 可無 | 臨時文件目錄 |
注:全新安裝的設計器,僅存在 db.properties、db.script 等必有文件。
若數據庫被使用,且表及數據修改了某些屬性,其他文件會自動生成。
2.3 設計器連接 FineDB
注:「内置 FineDB 數據庫」爲HSQL數據庫,使用時會建立内存數據庫,數據量大時會占用大量内存。
因此非必要請勿在 FineReport 工程中創建「内置 FineDB 數據庫」的數據連接。
本文僅簡介設計器連接内置 FineDB 數據庫的方式,平台連接方式請參見文檔: [平台] HSQL 數據連接 。
點擊「服務器>定義數據連接」,新增一個 JDBC 數據連接,如下圖所示:
具體連接信息如下表:
設置項 | 值 |
---|---|
數據庫 | 選擇「others」 |
驅動器 | 輸入「com.fr.third.org.hsqldb.jdbcDriver」 |
URL | 輸入「jdbc:hsqldb:file://${ENV_HOME}/embed/finedb/db」 注:Windows/Linux/Mac 通用 |
用戶名 | 輸入「sa」 |
密碼 | 無需輸入 |
新建一個數據庫查詢,在左側的下拉框中選擇 FineDB 數據連接,即可在列表框中看到所有 FineDB 裏面所有的數據表,拖曳至右側的 SQL 語句框中即可使用。
注:服務器添加 FineDB 數據連接後,務必控制 數據連接使用權限,否則存在被越權訪問并修改配置數據庫的風險。
3. 外接數據庫
HSQL 數據庫不能多線程訪問,集群環境、數據量較大可能會導緻 HSQL 數據庫不穩定的情況。因此在企業正式工程中,推薦配置外接數據庫。
外接數據庫支持的類型和使用方式,請參見:配置外接數據庫
如需調用外接數據庫内的數據進行分析,請根據數據庫類型選擇合适的數據連接方式:數據連接支持範圍
注:服務器添加 FineDB 數據連接後,務必控制 數據連接使用權限,否則存在被越權訪問并修改配置數據庫的風險。
4. FineDB 表
1)表結構簡介
FineDB 數據庫表内容請參見:FineDB 表結構
注:9.0 版本與 10.0 版本的 FineDB 表結構有較大差異,9.0 版本的 FineDB 表結構請參照 9.0 版本内置 HSQL 數據庫 finedb 。
2)表字段修改
部分配置項無前台修改設置,需要修改 FineDB 數據庫表字段來調整配置。
FineDB 數據庫中存儲在 fine_conf_entity 表中的字段可通過以下方案進行修改:
方案一:通過插件修改,詳情請參見:fine_conf_entity可視化配置 。
方案二:通過填報修改,詳情請參見:填報修改fine_conf_entity 。
禁止直接修改 FineDB 數據庫文件,禁止通過第三方軟件連接/修改 FineDB 數據庫。