1. 概述
本文通過一個獨立的輔助升級程序,可以将 9.0 的 Web 工程升級到 10.0 工程,包括 JAR 包、各類配置文件、FineDB 數據表等的兼容升級。
1)提供免安裝版程序,點擊即可運行,無需安裝卸載。
2)程序支持簡體中文、英文、繁體中文。
3)支持 Windows、Linux 主流操作系統。
注:升級前請先仔細閱讀:9-10 兼容說明
注:已獲取授權的 9.0 且可用的工程,升級前請先與銷售聯系,申請遷移授權,升級後,工程需要重新授權。
2. 獲取升級工具
由於 FineReport 功能不斷優化,産品不斷疊代升級,因此升級工具也在不斷更新,本文暫不提供升級工具下載鏈接,請需要的客戶聯系帆軟技術支持獲取。
技術支持聯系方式 QQ:800049425,電話:400-811-8890
3. 升級須知
注:升級前,請仔細閱讀以下升級須知。
1)工程備份:升級之前請先關閉待升級的工程,并對此工程進行備份。
2)以管理員方式啓動升級工具,保證升級工具能在工程所在的磁盤創建文件夾(一般不要将工程放在C盤内)。
3)當前只支持 JDK1.8,所以升級工程前務必查看 JDK 版本,保證JDK 版本符合要求,否則升級成功後會出現部署報錯。
如果 JDK 環境不允許改動,也可将工程拷貝到 JDK1.8 環境中升級完成後再拷貝回來。
4)内網離線環境下,升級後的工程,插件商城無法伴随升級,升級成功後需要手動替換插件商城腳本文件 scripts 。
點擊可下載 scripts:scripts.zip
替換路徑爲:%FR_HOME%/webapps/webroot/scripts,替換後需重啓服務器,并且清除浏覽器緩存。
5)如果待升級工程的 finedb數據庫 爲外接數據庫,升級過程中需要确保能夠連接到外接數據庫。
6)9.0 版本,同步數據集時選擇了自定義加密類,升級到 10.0 因接口發生變化都需要參照 10.0 方式重新适配。10.0 中取 消了默認的 MD5加密,若 9.0 選擇了内置MD5加密,升級後如仍需使用 MD5 加密請參見 密碼加密設置 第 4.3 節。
7)部分插件未支持新版本,在升級前請進行删除。
8)9.0 做了單點登錄的工程升級到 10.0 需要重新進行适配。
9)深度集成的客戶,建議把數據先拿到獨立部署的工程裏面,升級完成後,另行适配 10.0。
10)非簡體中文系統用戶升級前,務必要手動備份數據庫信息。升級工具會删除不同語言下的權限配置。
11)Linux 非簡體中文環境下,2018-02-28~2018-09-06 之間的 9.0 JAR 包與 10.0 無法完全兼容,需要先将 9.0 JAR 升 級最新,再使用升級工具升級到 10.0。
12)升級前請先檢查是否有普通用戶和超級管理員重名的現象,若有,需要手動處理 9.0 用戶數據,要麽重命名超級管理員,要麽重命名或删除這個普通用戶。
4. 升級步驟
4.1 升級工具使用
1)右鍵點擊升級工具,選擇以管理員身份運行。如下圖所示:
2)打開程序後,進行語言選擇,可選擇簡體中文、繁體中文、英語。如下圖所示,用戶根據實際工程情況選擇。
3)點擊确定,進入 FineReport 10.0 升級工具的安裝程序向導,選擇待升級的 9.0 工程文件夾。如下圖所示:
注:工程文件夾一般爲 %FR9.0_HOME%/WebReport 文件夾,是包含 WEB-INF 的文件夾。
如果所選目錄未檢測到 WEB-INF 文件夾,會提示:請選擇包含 WEB-INF 目錄的WEB容器文件夾,用戶需檢查是否工程文件選擇錯誤。
如果選擇的工程版本非 9.0,會提示:僅支持 9.0 的工程升級,用戶需檢查是否工程文件選擇錯誤。
4)點擊下一步,進入原工程備份界面,選擇原文件夾備份保存的地址,如下圖所示:
注:備份地址不允許爲空,爲空時提示:您必須輸入備份目錄
5)點擊下一步,提示:即将開始升級,在升級過程中請勿關閉本程序,同時不要對原工程做任何編輯修改操作。如下圖所示:
6)點擊下一步,啓動備份升級,如下圖所示:
備份成功後,在設置好的文件夾下生成 WebReport_bak 的備份文件。如下圖所示:
7)升級結束後,顯示升級完成,界面如下圖所示:
8)點擊完成後,9.0 中的項目文件 WebReport 就是被升級後的文件。如下圖所示:
4.2 引入tools工具包
因 10.0 部署除了需要有 JRE 以外,還需要 JDK 中的 tools.jar,所以升級工具升級完工程後,還需要引入 JDK 中的 tools.jar 工具包。如不執行此步驟,服務器部署過程中會報錯 500,相關内容可參考: 服務器部署需引入 tools.jar
将 %JAVA_HOME%/jdk/lib 下的環境變量tools.jar放到 %TOMCAT_HOME%/lib 和或%TOMCAT_HOME%/webapps/工程名/WEB_INF/lib下,如下圖所示:
注:若環境變量指向的%JRE_HOME%/bin下無attach.dll文件,還需将%JAVA_HOME%/jdk/jre/bin下的attach.dll拷貝到此路徑下。
4.3 啓動工程
需注意以下兩點:
用戶的 9.0 工程部署在 WebLogic 服務器中,且按照 9.0 幫助文檔 weblogic類沖突報錯 配置了weblogic.xml 文件時,升級 10.0 後需要删除%/WebReport%/WEB-INF文件夾下的weblogic.xml配置文件,再啓動 Weblogic 服務器,否則會啓動失敗。
升級後登錄平台的 URL 發生變化,需要修改爲 10.0 支持的 URL 格式,才能正常訪問,如本地服務器可修改爲:http://localhost/WebReport/ReportServer?op=fs 或 http://localhost/WebReport/decision
若升級後的工程需要部署,參考幫助文檔部署集成章節,完成部署即可。
啓動工程,登錄決策系統,即可看到 9.0 工程升級到了 10.0 并保留平台數據,如下圖所示:
5. 常見問題
5.1 升級工具閃退
問題描述:升級過程中,可能會因爲一些原因導緻升級工具閃退。
解決方案:如發生閃退情況,請聯系帆軟技術支持,并發送error.log文件,如下圖所示:
1)windows:error.log在升級工具同級文件夾生成
2)linux:如升級失敗,日志會保存在/tmp目錄下,如升級成功,該日志将自動删除,如下圖所示:
5.2 Unsupported major.minor version 52.0
問題描述:工程可以升級成功,但升級後部署報錯:com/sun/tools/attach/VirtualMachine:Unsupported major.minor version 52.0
原因分析:升級工具僅支持 JDK1.8 環境,其他版本的 JDK 環境不支持
解決方案:
1. 直接更換爲 JDK1.8 的環境再升級
2. 客戶的工程拷貝到另外一個 JDK1.8 的環境進行升級,完成後再拷貝回其他的環境
5.3 權限丢失
問題描述:2018-02-28~2018-09-06之間的 JAR 包,Linux 英文/繁體中文環境下,所有部門所有職務存在遺留問題,導緻權限會存在所有部門所有職務或者All DepartmentAll Post上。
解決方案:由於升級工具會根據 JAR 包時間以及升級的語言環境升級對應的權限,因此直接将9.0 JAR升級至最新,再使用升級工具升級到 10.0 即可。
5.4 端口被占用
原因分析:2018-11-06及之後的 JAR 包。10.0 工程有兩個端口,一個是容器的端口:默認爲 8075,另一個是 websocket:默認爲 38888。當同一個設備上有不止一個 10.0 工程時,兩個端口不能同時相同,否則會出現端口被占用報錯的問題。
解決方案:工程端口被占用的處理方法
5.5 其他說明
1)只提供對 Web 工程的升級,不提供對完整設計器的升級。設計器如果需要升級,可以先全新安裝 10.0,然後将老設計器下的工程升級到 10.0 ,将升級後的工程拷貝到新安裝的 10.0 設計器目錄下(也就是将 10.0 webapps 目錄中的 webroot 文件替換爲升級後的工程文件)。
2)如果一個 Web 工程已經升級過,不管是否升級成功,都無法再次運行升級工具來升級。只能通過已備份的 9.0 工程重新執行升級。
3)升級到 10.0 後,遷移過的 FineDB 會從數據庫回退到原先的 FineDB ,需要重新遷移。
4)升級工具不能跨版本升級,如 8.0 工程想升級到 10.0,需要把工程先升級到 9.0,再從 9.0 升級到 10.0。
5)2019 年 4 月 15 号及之後的升級工具支持官方的數據集類插件,支持列表如下:
插件 |
---|
多維數據集 |
SAP 數據集 |
JSON 數據集 |
MongoDB 數據集 |
新 SAP BW 數據集 |
螺旋數據集 |
确認一下是直接通過設計器升級的工程,載部署,還是可以直接在工程上升級