2007-05-26

Tags: 程式語言

以下是Crystal Report XI在Java 1.4.2 platform上的相關Memo。Memo來源是親自下海當白老鼠試過後得到的結果。在java platform上想要順利的使用Crystal Report的功能看來還真是多災多難呀...囧rz

Crystal Report XI的版本
1.Crystal Report XI (早期版本)
2.Crystal Report XI Release 2 (後期出的修正版,程式安裝檔可以從官方網站直接Download)

符合下述官方所述事項就一定要裝Crystal Report XI Release 2版本
Crystal Reports XI Release 2 is only required in four specific cases:
1.If you need Visual Studio 2005 compatibility
2.If you need to connect to universes in BusinessObjects Enterprise XI Release 2
3.If you use a third-party product that includes a custom Crystal Reports menu
4.If you use an Integration Kit (Peoplesoft, SAP, Baan, Siebel) in BusinessObjects Enterprise XI Release 2

Crystal Report XI(包含Release 2版本)在java platform支援的報表輸出格式在官方網站宣稱有下列儿種
1.RTF(Rich Text Format)
2.RPT(Crystal Report Format)
3.PDF(Adobe Acrobat Format)

直接查Crystal JRC(Java Report Component) API 查到API中支援的報表輸出格式可以是下面儿種(參照com.crystaldecisions.sdk.occa.report.exportoptions.ReportExportFormat的API文檔)
1.Word
2.Excel
3.PDF
4.RTF
5.CSV
6.plain text

利用程式實際執行後真的可以成功輸出格式只有下列几種
1.Word
2.PDF
3.RTF
4.CSV(只有Crystal Report XI Release 2版本才可以正常運作)

Crystal Report XI的Patch沒事別亂更新,有可能會一更新後馬上出大問題(以下是可以正常運作與不正常運作的版本)

測過可以正常在java platform運作的Crystal Report XI版本
Crystal Report XI + Service Pack 2

測過不能正常在java platform運作的Crystal Report XI版本
1.Crystal Report XI + Service Pack 1 + Service Pack 2 + 最新版HotFix
2.Crystal Report XI Release2 with SP2

結論
1.Crystal Report XI的報表輸出,最好還是用PDF的方式輸出,免的出現一些奇奇怪怪的怪問題。
2.Crystal JRC(Java Report Component) API提供的功能不可盡信,在使用前最好先確認一下有沒有bug或是該功能是否真的有被實作(官方提供的JRC API給你裝笑偉???)。
3.Crystal Report在java platform上面可經由jndi去存取DB,可是官方文件卻沒跟你好好解釋要如何經由jndi去存取DB,只跟你講經由jdbc的方式存取DB的作法,讓人很不爽。
4.Crystal Report在.Net platform上的support較佳;java platform上的功能較少,怪問題超多。
5.Crystal Report XI Release 2跟Crystal Report XI在java platform的奇怪bug不少,不會因為用了新版的XI Release 2後問題就少掉很多。
6.沒事別更新patch,免的原本可以跑的程式全都不能跑。