一、概述
FineReport報表內建一個HSQL 資料庫 FineDB,本文將簡單介紹該資料庫的作用、連結方式等。
二、FineDB 資料庫簡介
1
FineDB資料庫存放位置。
FineDB 資料庫保存在 %FR_Home%/webapps/WEB-INF/embed目錄下。
2
FineDB資料庫表內容。
FineDB 資料庫存儲了資料決策系統中除平台屬性配置以外的所有資訊,包括目錄樹設定、範本定時任務信息等。
FineDB 資料庫表內容請參見:FineDB 表結構。
3
資料庫檔案。
注:初次安裝後,若資料庫被使用,其他文件會自動生成。
裝時 | 檔案 | 內 | |
處於打開狀態。 | |||
檔案 當 變更。 | |||
檔案 |
三、連結FineDB 資料庫
鍵擊【伺服器】→【定義資料連結】,新增一個JDBC 資料連結,可以自訂名稱。
設定資料連接。
鍵擊【OK】,新增一個資料庫查詢,在左側的下拉框中選擇該資料連結,即可在列表框中看到FineDB裏面所有的資料表。
注:伺服器添加 FineDB 資料連結後,務必控制資料連結的權限,否則存在被越權訪問並修改配置資料庫的風險。
查詢語句可參考 B14-04 報表日誌LogDB資料庫 。
【資料庫】選擇Others。
【驅動器】輸入:com.fr.third.org.hsqldb.jdbcDriver。
【URL】輸入:jdbc:hsqldb:file://${ENV_HOME}/embed/finedb/db。
【帳號】輸入:sa。
【密碼】:無需輸入。
四、修改資料庫
使用者可透過填報範本修改 FineDB 資料庫中的資料,下文簡單舉例,如何修改數據決策系統中的帳號資料表PUBLIC.FINE_USER裏面的資料。
1
範本設計。
新增資料集ds1,使用SQL語句:SELECT * FROM PUBLIC.FINE_USER。
将資料集中的ID、REALNAME、USERNAME資料欄拖曳至範本中。
選擇A1:C1,鍵擊【元件設定】,右側給A1:C1全部添加文字元件。
2
設定填報屬性。
鍵擊【範本】→【報表填報屬性】。
新增一個內置SQL,【提交型别】選擇【智慧提交】,【資料庫】選擇剛創建的資料連結,【表】選擇【PUBLIC.FINE_USER】。
将資料欄與儲存格綁定,設定ID爲主鍵。
3
修改資料。
鍵擊【填報預覽】,將Anna的Username和Realname修改爲:test。
鍵擊【提交】,再新頁面,可以看到Anna的Username和Realname被修改成了:test。
四、使用資料庫軟件修改FineDB資料庫
1
解決方案。
使用 DBeaver、SQuirreL SQL Client 等第三方資料庫管理軟體,連結管理 FineDB。
2
注意事項。
設計器內建 Web 服務 Tomcat 或者伺服器部署上的 Tomcat 執行時,會獨佔 FineDB 資料庫。需要先暫停 Tomcat 一類的 Web 服務後,才能使用第三方管理軟體開啟 FineDB。
現有 FineDB 是 HSQLDB,如果用 HSQLDB 跟內建 HSQLDB 不同版本的 jar 作為驅動開啟 FineDB 後,會破壞 db.properties 和 db.script 檔案,導緻 FineReport 無法連結FineDB。
因此建議直接使用 FineReport 安裝目錄下%FR_HOME%\webapps\webroot\WEB-INF\lib\fine-third-10.0.jar作為第三方管理軟體連結 FineDB 的驅動。
3
具體步驟。
下面以 Windows 為例,使用 DBeaver 連結 FineDB。
4
準備驅動檔案。
在 DBeaver 安裝目錄下新建 driver 目錄,複制 %FR_HOME%\webapps\webroot\WEB-INF\lib\fine-third-10.0.jar 到 driver 目錄中。
5
新建驅動。
啟動 DBeaver,點選選單項:【Database】→【Driver Manager】。
在彈出的驅動管理器中選中 HSQLDB,點選【New】按鈕新建一個驅動。
在彈出的建立新驅動中進行配置:驅動名稱處填 finedb,類名處填com.fr.third.org.hsqldb.jdbcDriver,URL範本處填jdbc:hsqldb:file:{folder}\db,填入完畢後在下方庫處點選“新增檔案”按鈕。
10.0 版本 URL 範本處填jdbc:hsqldb:file:{folder}\db。
10.0 mac 下 URL 範本處填:jdbc:hsqldb:file:{folder}/db,注意反斜杠。
9.0 之前的版本 URL 範本處填emb:jdbc:hsqldb:file:{folder}\db。
在彈出的視窗中選擇中步驟1)中 DBeaver 安裝目錄下\driver\fine-third-10.0.jar,然後點選開啟。
最後點選“完成”按鈕完成新驅動的新增。
6
新建連結。
7
連結資料庫。
選中剛才建立的資料連結,連結後就能進行資料庫管理了。
8
應用舉例。
選中 FineDB 資料庫中的【PUBLIC】,點選滑鼠右鍵,在彈出的右鍵選單中選擇【View Catalog F4】,或者選中【PUBLIC】 後直接按鍵盤上的 F4 鍵。