1. 概述
1.1 應用場景
制作報表前首先需要定義數據來源,實際用戶系統最常見的就是數據保存在數據庫中,并且在不斷更新中,使用數據庫數據來制作報表,并且報表内容會随着數據庫的更新而更新。
1.2 功能簡介
FineReport 中有兩種數據連接方式:通過設計器建立數據連接和通過 平台建立數據連接 。
1.2.1 設計器建立數據連接
打開設計器,在服務器>定義數據連接中定義需要連接的數據庫,即可建立需要的數據連接,并自定義查詢語句創建數據集,從而制作報表。如下圖所示:
如果需要修改數據連接的名稱,可以通過雙擊原名稱進入編輯狀态進行修改,修改完點擊确定即可,如下圖所示:
1.2.2 平台建立數據連接
選擇服務器>報表平台管理,打開數據決策系統,點擊管理系統>數據連接>數據連接管理,選擇新建數據連接,即可建立需要的數據連接。詳情請參見:[平台]數據連接 。如下圖所示:
注1:FineReport 支持通過 JDBC、JNDI、SAP、XMLA 和 FineBI 五種方式連接數據庫,數據連接存儲在工程中,當用戶執行需要訪問數據庫的操作時這些連接被激活。
注2:XMLA 和 FineBI 連接的是多維數據庫,其中 FineBI 是連接帆軟的另一款 BI 産品的數據庫。
2. JDBC 連接與 JNDI 連接對比
JDBC 連接數據庫 | JNDI 連接數據庫 | |
定義 | JDBC(Java Data Base Connectivity,Java 數據庫連接)是一種用於執行 SQL 語句的 Java API,可以爲多種關系數據庫提供統一訪問 | JNDI (Java Naming and Directory Interface)是一個應用程序設計的 API,爲開發人員提供了查找和訪問各種命名和目錄服務的通用、統一的接口,類似 JDBC,都是構建在抽象層上 |
連接方式區别 | JDBC 就是直接連接物理數據庫,連接數據庫比較快,但在程序中使用的話就比較煩瑣,每次連接都要有一定的編碼,和數據庫的連接需要手動關閉 | 使用 JNDI 連接某個數據源,此數據源所連接的數據庫都在應用服務器端定義 |
各自優勢 | 在報表服務器部署後,如果數據庫的相關參數變更,重新修改配置文件中的 JDBC 參數即可,只要保證數據源的名稱不變,數據連接就無需修改; JDBC 避免了報表與數據庫之間的緊耦合,和項目共用服務器的連接池,且連接速度比較快,使應用更加易於配置、易於部署 | JNDI只需要把數據庫後台、驅動、URL、用戶名、連接池等問題交給 J2EE 容器來配置和管理,然後對這些配置和管理進行引用即可 |