Jasper 怎麼配置動態資料來源
Jasper 本身是不支援動態資料來源的,能用的解決方式是透過 api 自定義資料來源,實際操作就是根據條件判斷後動態設定 jdbc 的 url、使用者名稱及密碼等連線屬性。比如:
String userName = userDetails.getUsername(); // obtain a connection based on the username. String dataSourceURI = ""; if (userName.equalsIgnoreCase("admin")) { dataSourceURI = "/datasources/ds_1"; userName = "xx"; … }else if{…} connection = getRepositoryDatasource(dataSourceURI); try { parameterValues.put(JRParameter.REPORT_CONNECTION, connection.getDataSource().getConnection()); } catch (SQLException sqle){ sqle.printStackTrace(); }
API 儘管做到了動態資料來源, 但過程還是比較複雜的,另外還會導致自定義類與應用間高耦合,後期維護也是挺麻煩的事兒。
如果有集算器,這個問題就很容易處理,比如某業務量較大的企業把每年的資料都分庫存放在獨立伺服器。當按年度查詢資料(如訂單表)的時候,就要動態的去連對應庫。
集算器 SPL 一句話搞定
A | B | C | |
---|---|---|---|
1 | =connect(dataSource) | /get dataSource connect |
|
2 | =A1.query(“select * from orders”) | /Execution query |
|
其中,“connect(dataSource)”為獲取資料庫連線,“dataSource”為集算器引數,傳入哪年就可以獲取對應資料庫連線。
上面的場景還只是最簡單的取數需求,如果涉及到多資料來源的混合運算,對於 Jasper 來說就更困難了,甚至沒解決方案。這些問題引入集算器都會變的輕鬆,感興趣的可以參考: 。
集算器提供了 JDBC 驅動,可以很方便的與 Jasper 等報表工具整合,詳細用法可參考 。
關於集算器安裝使用、獲得免費授權和相關技術資料,可以參見 。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69900830/viewspace-2693625/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- BIRT 如何配置動態資料來源
- 報表怎麼動態選擇資料來源
- 誒,我的動態資料來源怎麼失效了
- SpringBoot整合MyBatisPlus配置動態資料來源Spring BootMyBatis
- 多資料來源與動態資料來源的權衡
- Spring-Boot 多資料來源配置+動態資料來源切換+多資料來源事物配置實現主從資料庫儲存分離Springboot資料庫
- Spring Boot 動態資料來源(Spring 註解資料來源)Spring Boot
- mybatis 多資料來源動態切換MyBatis
- MyBatis-Plus:建立動態資料來源MyBatis
- SSM(八)動態切換資料來源SSM
- 怎麼配置jive使用容器的資料來源和連線池?
- jndi配置資料來源
- 多資料來源配置
- 資料來源(DataSource)是什麼以及SpringBoot中資料來源配置Spring Boot
- Spring AOP動態切換資料來源Spring
- 全程解析,MyBatis在SpringBoot中的動態多資料來源配置MyBatisSpring Boot
- 使用單例模式來實現動態資料來源管理單例模式
- Spring Boot MyBatis 動態資料來源切換、多資料來源,讀寫分離Spring BootMyBatis
- MyBatis配置多資料來源MyBatis
- web 配置多資料來源Web
- tomcat配置資料來源Tomcat
- Spring 多資料來源 AOP 動態切換Spring
- BIRT 怎麼呼叫 Webservice 作為資料來源Web
- 怎樣在spring中配置proxool資料來源?薦Spring
- spring-data-redis 動態切換資料來源SpringRedis
- 實現Spring動態註冊多資料來源Spring
- Spring實現多資料來源動態切換Spring
- Spring多資料來源配置Spring
- weblogic配置JDBC資料來源WebJDBC
- Spring配置多資料來源Spring
- DataV配置VPC資料來源教程
- tomcat JNDI資料來源配置Tomcat
- 銀彈谷零程式碼軟體開發套件按鈕組控制元件的動態資料來源怎麼配置實用技巧套件控制元件
- SpringBoot 這麼實現動態資料來源切換,就很絲滑!Spring Boot
- Laravel nova 建立動態資源配置欄位Laravel
- Spring 註解動態資料來源設計實踐Spring
- Sentinel-Go 整合 Nacos 實現外部動態資料來源Go
- ODBC 常見資料來源配置整理