一、概述
FineReport可以呼叫主流資料庫的儲存程序,執行儲存程序返回的結果成為資料集,可以在製作報表時使用。
二、操作步驟
1
新建資料連結。
連結本地My SQL資料庫test。
將資料連結重命名為:MySQL。
MySQL資料連結,可參考A01-03 資料連結(MySQL)
2
新增儲存程序1。
點擊範本資料集上方的【+】按鈕。
3
新增儲存程序2。
選擇【儲存程序】。
4
選擇資料庫。
選擇資料連結【MySQL】,左側顯示了資料庫中所有的儲存程序。
5
呼叫儲存程序。
左鍵點擊2下 proc_1,右側顯示 proc_1 的SQL語句。
下方自動顯示 proc_1 的參數,包括參數名、型別、傳入/傳出型別和預設值。
FineRepor僅支援自動讀取Oracle、MYSQL、DB2和SQL Server儲存程序的參數,對於其他資料庫則需手動新增。
6
輸入參數值。
參數 area 輸入預設值:華東,預覽資料集。
7
資料集。
點擊【確定】,產生資料集。
資料集有3個返回集,分別對應3個輸出參數 avg_sales 、 min_sales 和 max_sales 。
8
新增儲存程序。
雙擊【proc_2】。
下方顯示參數 area 。
9
預覽效果。
雖然定義 proc_2 的SQL語句為欄位 Salesperson 定義了別名 SP ,但預覽資料集時,仍為 Salesperson。
10
編輯資料連結。
在URL後加上參數:?useOldAliasMetadataBehavior=true,點擊【確定】。
11
預覽Proc2資料集。
Salesperson 顯示為 SP。
12
儲存資料集。
點擊 【確定】,儲存對資料集的編輯。
產生的資料集有1個返回集,這個返回集包含3個資料欄,對應SQL語句中選取的3個欄位。