1. 概述
2. FINE_CONF_ENTITY表欄位過長
問題描述:
平台備份失敗,日誌報錯java.sql.SQLDataException: data exception: string data, right truncation; table: FINE_CONF_ENTITY column: VALUE
原因分析:
FINE_CONF_ENTITY 表中存在過長的資料,超出 VALUE 欄位的長度限制(預設最大長度為 65535)。
解決方案 1:
超級管理者可透過「fine_conf_entity視覺化配置插件」,修改BackupConfig.customValueLength參數值,來調整最大長度限制。
重啟伺服器後設定生效。如下表所示:
配置項 | 修改規則 |
---|---|
BackupConfig.customValueLength | 參數值需為正整數型態 預設值為 65536 |
解決方案 2:
注1:修改 FINE_CONF_ENTITY 表欄位的方法請參考:填報修改fine_conf_entity 。
注2:在刪除前請手動備份工程路徑%FR_HOME%/webapps/webroot/WEB-INF/embed下的 finedb 檔案。
1)在資料庫查詢中使用以下 SQL 語句篩選出欄位長度過長的資料:
2)使用 刪除提交 ,刪除篩選出來的超長資料。
3)重啟伺服器後設定生效。
3. can not be represented as java.sql.Timestamp
問題描述:
平台備份失敗,日誌報錯:Caused by: java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp
原因分析:
MySQL 資料庫中存在空欄位,使用JDBC中讀取時會轉化為0000-00-00 00:00:00,但java不能識別,需要將空資料轉換為 Null 。
解決方案:
修改資料連結的資訊。資料連結的「資料連結URL」後加上參數,將空資料強制轉成 Null 。
格式為:zeroDateTimeBehavior=convertToNull
4. program has no privilege to read and write
問題描述:
自動備份失敗,日誌報錯:java.lang.IllegalArgumentException: program has no privilege to read and write :/root/.FineReport100/XXX/config
原因分析:
備份程式中用到了資料夾/root/.FineReport100下的快取檔案,使用者沒有資料夾/root/.FineReport100的讀寫權限,導緻備份失敗。
解決方案:
配置資料夾/root/.FineReport100的讀寫權限。
5. file input/output errorerror
問題描述:
備份路徑在 E 盤,E 盤空間充足,但是自動備份經常失敗,日誌報錯:file input/output errorerror java.io.FileNotFoundException: C:\Users\Administrator\.FineReport100\XXX\config\finedb\db.data (磁碟空間不足。)
原因分析:
磁碟空間不足導緻備份失敗。
備份時會臨時使用 C 盤空間(備份成功後會自動釋放空間),C 盤空間不足導緻備份失敗。
解決方案:
擴容 C 盤或清理 C 盤空間。
6. com.fr.plugin.xxx
問題描述:
備份還原失敗,日誌報錯:com.fr.plugin.xxx.entity.xxxEntity
解決方案:
1)禁用插件,重新備份。
2)若禁用插件後仍備份失敗,刪除插件並重啟工程,重新備份。