反饋已提交
網絡繁忙
資料連結高階設定包括【連結池屬性】和【其他】兩部分,【其他】目前主要是新增的【fetchsize】設定項。
連結池原理詳見:連結池原理。
本文将介紹高階設定的設定方法及其屬性中各參數的含義。
在 FineReport 設計器中點擊【伺服器】→【定義資料連結】,選擇某個資料連結,點擊【高階設定】,可設定連結池屬性。如下圖1所示。
部分資料連結還可設定【fetchsize】 。如下圖2所示。
其中連結池屬性的各參數說明如下表所示。
最大活動連結數設定超過資料庫中的連結數目,只能按照資料庫中的連結數目為準,如想調至最大,則也要調整資料庫中的連結數目,參考文檔 連結池滿問題 中的解決方案。
名稱
舉例
含義
初始化連結數
initialSize="1"
連結池啓動時創建的初始化連結數量。
最大活動連結數
maxActive="200"
連結池在同一時間能夠分配的最大活動連結的數量,如果設定為非正數則表示不限制。
最大空閑連結數
maxIdle="100"
注:該參數已廢棄。
最小空閑連結數
minIdle="2"
連結池中容許保持空閑狀態的最小連結數量,低於這個數量將建立新的連結,如果設定為 0 則不建立。
最大等待時間(毫秒)
maxWait="1000"
當沒有可用連結時,連結池等待連結被歸還的最大時間(以毫秒計數),超過時間則抛出異常,如果設定為 -1 表示無限等待。
SQL 驗證查詢
validationQuery="SQL語句"
用來驗證從連結池取出的連結,在将連結返回給呼叫者之前如果指定,則查詢必須是一個 SQL SELECT 並且必須返回至少一行記錄。
獲取連結前檢驗
testOnBorrow="false"
指明是否在從池中取出連結前進行檢驗,如果檢驗失敗,則從池中去除連結並嘗試取出另一個。
歸還連結前檢驗
testOnReturn="true"
指明是否在歸還到池中前進行檢驗。
開啓空閑回收器檢驗
testWhileIdle="true"
指明連結是否被空閑連結回收器(如果有)進行檢驗,如果檢測失敗,則連結将被從池中去除。
空閑連結回收器休眠時間(毫秒)
timeBetweenEvictionRunsMilli
s="1000"
在空閑連結回收器執行緒執行期間休眠的時間值,以毫秒為單位.。如果設定為非正數,則不執行空閑連結回收器執行緒。
空閑連結回收檢查數
numTestsPerEvictionRun="2"
在每次空閑連結回收器執行緒(如果有)執行時檢查的連結數量。
保持空閑最小時間
minEvictableIdleTimeMilli
s="18005000"
連結在池中保持空閑而不被空閑連結回收器執行緒(如果有)回收的最小時間值。
當執行一個 SQL 查詢語句的時候,需要在客戶端和伺服器端都開啟一個遊標,並且分別申請一塊記憶體空間,作為存放查詢的資料的一個緩沖區。這塊記憶體區,存放多少筆資料就由【fetchsize】來決定。
使用者可在 FineReport 中,對【Oracle】、【DB2】、【Postgre】資料連結設定【fetchsize】。可輸入 1~1,000,000 中的任意數值,若為空則表明不配置此項參數。
注:當遠程設計配置 【fetchsize】 時,使用的設計器需10.0.18版本以上,否則設計器中觸發保存會使平台中的 【fetchsize】 設定項消失。
如果訪問範本時,報連結超時、等待狀态,警告如下所示,則需要把相應連結數調大。
警告:Cannot get a connection, pool error Timeout waiting for idle objectat com.fr.third.org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:114)at com.fr.third.org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)at com.fr.data.pool.MemoryConnection.create(Unknown Source)at com.fr.data.impl.JDBCDatabaseConnection.createConnection(Unknown Source)
文 檔回 饋
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉