本地效果與服務器效果不一致問題處理經驗分享
我們做報表通常情況下都是在本地PC機上調試沒問題后再發布到服務器上,這個時候經常會出現本地明明調的很好的模板發布后就不對了!!!這邊將我遇到過的所有本地效果與服務器效果不一致的問題及解決思路整理下來~~~~
當你發現同一張報表在本地環境中訪問正常,但是發布到服務器后就不正常了,不管是哪邊不正常,首先要做的一定是
A. 檢查一下是不是同一張模板,最好是重新部署一下
B. 檢查一下服務器的jar包與本地的jar包版本是否相同,一定要保證jar版本相同,同步后要重啟服務器
檢查方法http://www.finereporthelp.com/help/4/0/6/8.html
在確保上面兩點都已經檢查的情況下,若還有問題,再具體分析。
問題1. 部署后報表報錯如nullpointer,或者其他非數據相關的錯誤
原因:最常見的原因是服務器jar與本地jar版本不同;其次是模板沒有同步
糾錯思路:
A、B兩步
如果還有問題,則可能是bug,聯系FR技術
問題2. 部署后報找不到數據連接
原因:服務器數據連接定義有問題,比如本地定義的數據連接名字用的test,報表數據集那邊選擇的數據庫是test,而服務器為了規范,把數據連接名字改了如db,模板中數據集那邊沒改,還是用的test,就錯了
糾錯思路:
A、B兩步
然后確認本地數據連接定義與服務器數據連接定義是否正確
再確認模板數據集那邊使用的數據庫是否正確
這里最好是測試環境與正式環境盡可能的相同,發布報表的時候數據相關的配置文件datasource.xml也要上傳
問題3. 部署后報表空的,沒有數據/下拉控件中沒有數據等
原因:和上面一個問題類似,都是數據問題,往往都是本地環境中定義的數據連接、數據表與服務器名字等不一致導致,比如模板數據集被誤刪了,被傳到了服務器上,數據沒了
糾錯思路:
A、B兩步
確認數據連接定義對不對
確認模板中的數據集定義對不對
問題4. 部署后報表可以訪問,但是與本地有差異
原因:通常都是模板不同步導致,比如改了一個小地方,以為自己覆蓋服務器上的模板了,實際上還沒傳
糾錯思路:
A、B 兩步
問題5. 部署后報表工具欄不見了
原因:模板工具欄設置用的是服務器設置,而服務器上的沒設置全局工具欄
糾錯思路:
A、B兩步
打開模板看一下工具欄用的為該模板單獨設置還是采用的服務器設置
如果用的是服務器設置,則設計器遠程登陸到服務器環境,看一下服務器設置工具欄有沒有
部署的時候注意要把服務器配置config.xml也要傳到服務器上
問題6. 部署后報表原來居中顯示的變成居左顯示了或相反情況
原因:和上面的問題類似,用的是服務器配置,而服務器配置中設置不正確
糾錯思路:
A、B兩步
打開模板看一下預覽配置用的是單獨配置還是采用服務器設置
一般可以直接改為單獨設置,把顯示位置改為如居中,再重新上傳一下模板
如果還是不行,則可能是bug,聯系FR技術
問題7. 部署后報表邊框缺失了
原因:這個一般是服務器jar與本地jar版本不同導致
糾錯思路:
A、B兩步
jar同步后本地好的,服務器上還是有問題,則可能是bug,聯系FR技術
邊框問題FR這邊處理的不完美,通常遇到這樣的情況,和FR反饋后,自己也通過一些變通的方法解決,比如在臨近的單元格加上邊框
問題8. 部署后報表單元格自動調整行高效果不對
原因:這個一般是服務器jar與本地jar版本不同導致
糾錯思路:
A、B兩步
jar同步后本地好的,服務器上還是有問題,則可能是bug,聯系FR技術
問題9. 部署報表后地圖顯示不出來
原因:部署的時候沒把地圖用到的內置數據庫拷貝到服務器
糾錯思路:
A、B兩步
確認WEB-INF\resources\chartdb有沒有拷貝到服務器
java報表軟件:http://www.finereport.com/products/advantages