資料庫以後可能換,現在報表怎麼做好一點?

xiaohuihui發表於2020-06-21

如果以後可能換庫,不管是從收費的換到開源的,還是從國外的換到國產的,對於報表開發的一個忠告:

別用儲存過程,少寫複雜 SQL

儲存過程沒有移植性,換庫基本要重寫;而各種資料庫“方言”會導致語法不一致,同時支援的功能也不一樣(如視窗函式的支援),複雜 SQL 會面臨換庫後巨大的改造成本。

其實這個問題相當於問有沒有跟資料庫低耦合的報表開發方式。

目前業界解耦報表應用和資料庫的方式有兩個:

1、用 JAVA 實現報表資料計算(資料準備)
從資料庫取數後,用 JAVA 完成大部分資料處理,這樣未來換庫報表用 JAVA 寫的計算邏輯都不用動,切換時只更改資料庫連線就可以了。
但這種方式編碼的複雜度會比較高,JAVA 做集合運算要比 SQL 麻煩很多,因此對人員的要求也比較高,不適合一般的報表開發人員。
另外,JAVA 不支援熱切換,改報表還要重啟整個應用,不太方便了。

2、直接用強計算能力的報表工具
有些報表工具自帶指令碼計算能力,這樣就可以在一個工具內解決資料計算和報表呈現了,如果實現要比 JAVA 簡單得多,並且還能熱切換的話,選擇性就非常強了。

關於報表耦合性的話題可以再看下這個

對於報表工具支援的複雜計算可以參考

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69900830/viewspace-2699760/,如需轉載,請註明出處,否則將追究法律責任。

相關文章