1. 問題描述
昨天晚上把報表在本機做好了,想著今天部署測試呢。結果jj了。放上去之後就開始提示
「 + 沒有可用的報表設計物件。」
首先排除檔案訪問許可權的問題,如果檔案不存在那麼提示應該是 「+ 報表檔案: a.rptdesign 不存在或包含錯誤。
」 檢查了一遍又一遍。
網上主要有兩種解決方法:
版本問題。開頭部分已經檢查過,真的沒有問題。
路徑問題。不過這個不應該,這個應該說是 檔案不存在
所以 可用性,應該是許可權或者是檔案本身是有問題,無法執行。
瘋狂的找不同,一遍一遍的測試,檢視原始碼。實在是不想重新寫啊,畢竟格式我調的那麼辛苦。
貌似不好使。
2. 解決過程
檢視tomcat日誌
catalina.log
發現異常:
mar 15, 2017 11:20:57 am org.eclipse.birt.report.model.parser.modulereader readmodule
severe: line number:124 error code:error.xmlparserexception.exception exception:org.eclipse.birt.report.model.api.command.wrongtypeexception: the parent oda data source(「data source」) is different element type with the target oda data source(「data source」). message:a generic exception occurred.
mar 15, 2017 11:20:57 am org.eclipse.birt.report.engine.api.impl.reportenginehelper getreportdesignhandle
severe: invalid design file file:a.rptdesign
雖然我的英語不是很渣,但是這個實在很難懂啊。
當前的 oda data source 元素型別 和目標不一致。
找到對應行。
name="data source"
id="7"
這是我的,再看下人家的:
"org.eclipse.birt.report.data.oda.jdbc"
name="data source"
id="7"
簡直了。。。。。。。
3.結語
找不同是個技術活,只不過很累。
本地環境一定要盡量和正式環境保持一致,這樣應該能省點心吧。
被低估的BIRT報表 二 Birt也可以很漂亮
閱讀birt的原始碼,我們可以發現雖然birt的 技術比較老,但是層次劃分非常清晰,在其上進行二次開發是一件非常容易的事。以我定製的birt報表為例,只需要很簡單的修正工作,birt就能變為一件利器,如下 詳細資訊請檢視我的專案mirana birt之customer分支,位址資訊如下 mirana...
被低估的BIRT報表 六 報表引數與模糊查詢
通過設定報表引數,可以提供更符合客戶要求的報表,更重要的是,大大提高了報表的可復用性,在某些環境下,甚至可以將報表直接作為互動介面,提高開發效率既降低開發難度。要在查詢中支援模糊查詢,以mysql為例,將資料集的查詢語句定義為 select hostname,memorysize from t co...
BIRT報表項消失的解決方案
在對birt進行二次開發的過程中,遇到了不少的問題,現在說一下遇到的乙個比較奇怪的問題,搞了好長時間才解決。先看一下問題所在吧,如下截圖 熟悉birt的人應該可以看到 交叉表 和 圖表 兩個報表項消失了,右側是正常的birt工具箱,造成這個問題的原因可能會有很多,我只說我遇到的,其他原因還請大神們相...